更新时间:2025-07-31 GMT+08:00
C#示例
操作场景
本章节主要介绍使用C#语言连接集群实例的方法。
前提条件
环境配置及驱动获取
- 安装.NET SDK: 保证您的环境有.NET SDK。您可以从官方网站进行下载:https://dotnet.microsoft.com/download
- 创建新项目: 打开终端或命令提示符,创建一个新的.NET 控制台应用程序。
dotnet new console -n DDSExample cd DDSExample
- 添加 MongoDB C# 驱动程序: 使用 NuGet 将 MongoDB C# 驱动程序添加到您的项目中。
dotnet add package MongoDB.Driver
连接代码
- SSL开启
using MongoDB.Bson; using MongoDB.Driver; using System; using System.Security.Cryptography.X509Certificates; using System.Threading.Tasks; public class MongoDBSecureWriter { public static async Task Main() { var connectionString = "mongodb://rwuser:rwuserpassword@ip:port/{mydb}?authSource=admin"; var caCertPath = "/path/to/certs/ca.crt"; var collectionName = "testCollection"; try { var client = CreateSecureClient(connectionString, caCertPath); var database = client.GetDatabase("mydatabase"); var collection = database.GetCollection<BsonDocument>(collectionName); var document = new BsonDocument { { "name", "Secure Test" }, { "value", 42 }, { "timestamp", DateTime.UtcNow } }; await collection.InsertOneAsync(document); Console.WriteLine($"Insert doc ID: {document["_id"]}"); // 验证写入 var filter = Builders<BsonDocument>.Filter.Eq("_id", document["_id"]); var result = await collection.Find(filter).FirstOrDefaultAsync(); Console.WriteLine($"result: {(result != null ? "success" : "fail")}"); } catch (Exception ex) { Console.WriteLine($"Fail: {ex.Message}"); if (ex.InnerException != null) { Console.WriteLine($"Exception: {ex.InnerException.Message}"); } } } private static MongoClient CreateSecureClient(string connectionString, string caCertPath) { var caCert = new X509Certificate2(caCertPath); var settings = MongoClientSettings.FromConnectionString(connectionString); settings.SslSettings = new SslSettings { CheckCertificateRevocation = false, ClientCertificates = new[] { caCert } }; settings.UseTls = true; settings.AllowInsecureTls = true; settings.MaxConnectionPoolSize = 100; settings.MinConnectionPoolSize = 10; return new MongoClient(settings); } }
- SSL关闭
using MongoDB.Driver; using MongoDB.Bson; using System; class Program { static void Main(string[] args) { // Replace <YourConnectionString> with your MongoDB connection string var connectionString = "mongodb://rwuser:rwuserpassword@ip:port/{mydb}?authSource=admin"; // Create a MongoClient object var client = new MongoClient(connectionString); // Get a reference to the database var database = client.GetDatabase("testDatabase"); // Get a reference to a collection var collection = database.GetCollection<BsonDocument>("testCollection"); // Create a sample document var document = new BsonDocument { { "name", "DDS" }, { "type", "Database" }, { "count", 1 }, { "versions", new BsonArray { "v3.4", "v4.0", "v4.2" } }, { "info", new BsonDocument { { "x", 203 }, { "y", 102 } } } }; // Insert the document into the collection collection.InsertOne(document); Console.WriteLine("Document inserted successfully!"); } }

- URL中的认证数据库必须为“admin”,即“authSource=admin”。
- rwuser账户的认证数据库必须为“admin”,之后再切换至业务数据库。
运行程序
在终端或命令提示符使用以下命令运行程序。
dotnet run
父主题: 通过程序代码连接集群实例