适用对象: MongoDB
本文介绍如何使用 .NET Core 和相关的 NuGet 包连接到 Azure Cosmos DB for MongoDB。 连接后,可对数据库、集合和文档执行操作。
备注
示例代码片段在 GitHub 上作为 .NET Core 项目提供。
API for MongoDB 参考文档 | MongoDB 包 (NuGet)
- 具有活动订阅的 Azure 帐户。 创建试用版订阅。
- .NET 6.0
- Azure 命令行接口 (CLI) 或 Azure PowerShell
- Azure Cosmos DB for MongoDB 资源
使用首选终端在空文件夹中创建新的 .NET Core 应用程序。 对于此场景,你将使用控制台应用程序。 使用
dotnet new
命令创建控制台应用并为其命名。dotnet new console -o app
将 MongoDB NuGet 包添加到控制台项目。 使用
dotnet add package
命令指定 NuGet 包的名称。dotnet add package MongoDB.Driver
要运行应用,请使用终端导航到应用程序目录并运行该应用程序。
dotnet run
若要使用 MongoDB 本机驱动程序连接到 Azure Cosmos DB,请创建 MongoClient
类的实例。 此类是针对 MongoDb 数据库执行所有操作的起点。 MongoClient 最常见的构造函数接受连接字符串,可按照以下步骤来检索它:
为 resourceGroupName 创建 shell 变量。
# Variable for resource group name resourceGroupName="msdocs-cosmos"
使用
az cosmosdb list
命令检索资源组中第一个 Azure Cosmos DB 帐户的名称,并将其存储在 accountName shell 变量中。# Retrieve most recently created account name accountName=$( az cosmosdb list \ --resource-group $resourceGroupName \ --query "[0].name" \ --output tsv )
使用
az cosmosdb keys list
命令,从帐户的连接字符串列表中查找 API for MongoDB 连接字符串。az cosmosdb keys list --type connection-strings \ --resource-group $resourceGroupName \ --name $accountName
请记下“主密钥”值。 稍后将使用这些凭据。
若要在代码中使用“连接字符串”值,请在运行应用程序的本地环境中设置此值。 若要设置环境变量,请使用首选终端运行以下命令:
export COSMOS_CONNECTION_STRING="<cosmos-connection-string>"
使用构造函数和之前设置的连接字符串变量定义 MongoClient
类的新实例。
// New instance of CosmosClient class
var client = new MongoClient(Environment.GetEnvironmentVariable("MONGO_CONNECTION"));
var settings = client.Settings;
Console.WriteLine(settings.Server.Host);
在开始构建应用程序之前,我们先来了解 Azure Cosmos DB 中的资源层次结构。 Azure Cosmos DB 具有用于创建和访问资源的特定对象模型。 Azure Cosmos DB 在由帐户、数据库、集合和文档组成的层次结构中创建资源。
此层次结构示意图显示顶部有一个 Azure Cosmos DB 帐户。 该帐户包含两个子数据库节点。 其中一个数据库节点包含两个子集合节点。 另一个数据库节点包含单个子集合节点。 该子集合节点包含三个子文档节点。
每种类型的资源由一个或多个关联的 C# 类表示。 下面列出了最常见的类:
类 | 说明 |
---|---|
MongoClient |
此类为 Azure Cosmos DB 上的 API for MongoDB 层提供客户端逻辑表示。 此客户端对象用于对服务进行配置和执行请求。 |
MongoDatabase |
此类是对服务中可能存在或可能不存在的数据库的引用。 在尝试对数据库执行操作时,将在服务器端验证或创建数据库。 |
Collection |
此类是对服务中可能不存在的集合的引用。 在尝试使用该集合时,会在服务器端对其进行验证。 |
以下指南介绍了如何使用上述每个类来生成应用程序和管理数据。
指南:
现在,你已连接到 API for MongoDB 帐户,请使用下一指南创建和管理数据库。