📜  DocumentDB教程(1)

📅  最后修改于: 2023-12-03 15:00:31.440000             🧑  作者: Mango

DocumentDB 教程

介绍

本教程将帮助程序员了解如何使用 DocumentDB,它是由 Azure 提供的 NoSQL 文档数据库服务。DocumentDB 提供了高度可扩展、全球分布的文档数据库解决方案,适用于构建现代应用程序。

目录
  1. 概览
  2. 安装和配置
  3. 创建数据库
  4. 创建集合
  5. 插入数据
  6. 查询数据
  7. 更新数据
  8. 删除数据
  9. 总结
概览

DocumentDB 是一种基于文档模型的数据库服务,它使用 JSON 格式存储和检索数据。与传统的关系型数据库相比,DocumentDB 具有更高的可扩展性和灵活性。它支持多种编程语言和平台,包括 .NET、Java、Node.js 等。

安装和配置
  1. 在 Azure 门户中创建 DocumentDB 资源。
  2. 配置访问密钥和连接字符串。
  3. 安装适用于你所使用编程语言的 DocumentDB 客户端库。
创建数据库

使用 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) 获取更多详细信息。