📅  最后修改于: 2023-12-03 15:00:31.440000             🧑  作者: Mango
本教程将帮助程序员了解如何使用 DocumentDB,它是由 Azure 提供的 NoSQL 文档数据库服务。DocumentDB 提供了高度可扩展、全球分布的文档数据库解决方案,适用于构建现代应用程序。
DocumentDB 是一种基于文档模型的数据库服务,它使用 JSON 格式存储和检索数据。与传统的关系型数据库相比,DocumentDB 具有更高的可扩展性和灵活性。它支持多种编程语言和平台,包括 .NET、Java、Node.js 等。
使用 DocumentDB 客户端库连接到你的 DocumentDB 资源,并创建一个数据库。
```csharp
DocumentClient client = new DocumentClient(new Uri(endpointUri), authorizationKey);
Database database = await client.CreateDatabaseAsync(new Database { Id = "MyDatabase" });
## 创建集合
在数据库中创建一个集合来存储文档数据。
```markdown
```csharp
DocumentCollection collection = await client.CreateDocumentCollectionAsync(database.SelfLink, new DocumentCollection { Id = "MyCollection" });
## 插入数据
向集合中插入新的文档数据。
```markdown
```csharp
await client.CreateDocumentAsync(collection.SelfLink, new { id = "1", name = "John Doe" });
## 查询数据
使用 SQL 查询语句从集合中检索数据。
```markdown
```csharp
IQueryable<dynamic> query = client.CreateDocumentQuery(collection.SelfLink, "SELECT * FROM c WHERE c.name = 'John Doe'");
FeedResponse<dynamic> results = await query.ExecuteNextAsync();
foreach (var item in results)
{
Console.WriteLine(item.name);
}
## 更新数据
更新集合中的文档数据。
```markdown
```csharp
Document document = client.CreateDocumentQuery(collection.SelfLink, "SELECT * FROM c WHERE c.name = 'John Doe'").AsEnumerable().FirstOrDefault();
document.name = "Jane Doe";
await client.ReplaceDocumentAsync(document.SelfLink, document);
## 删除数据
从集合中删除文档数据。
```markdown
```csharp
Document document = client.CreateDocumentQuery(collection.SelfLink, "SELECT * FROM c WHERE c.name = 'John Doe'").AsEnumerable().FirstOrDefault();
await client.DeleteDocumentAsync(document.SelfLink);
## 总结
通过本教程,你学会了如何使用 DocumentDB 创建数据库、集合,插入、查询、更新和删除数据。你现在可以开始在你的应用程序中利用 DocumentDB 的强大功能来构建现代化的应用程序了。
> 请参考 [DocumentDB 官方文档](https://docs.microsoft.com/azure/cosmos-db/documentdb-introduction) 获取更多详细信息。