C# 连接mongodb增删改查
时间: 2024-09-11 07:05:20 浏览: 64
在C#中连接MongoDB并进行增删改查操作,你需要先安装MongoDB的官方驱动程序,即`MongoDB.Driver`。以下是一个简单的示例,展示了如何完成基本的操作:
1. **添加NuGet包**:
首先,通过NuGet管理器或命令行安装`MongoDB.Driver`包。
```powershell
Install-Package MongoDB.Driver
```
2. **创建连接**:
使用`MongoClient`类连接到MongoDB服务器。假设你的数据库名为`YourDatabase`,集合名为`YourCollection`。
```csharp
using MongoDB.Bson;
using MongoDB.Driver;
string connectionString = "mongodb://localhost:27017/?database=YourDatabase";
var client = new MongoClient(connectionString);
var database = client.GetDatabase("YourDatabase");
var collection = database.GetCollection<BsonDocument>("YourCollection");
```
3. **插入数据(增)**:
创建BsonDocument实例表示文档,并使用`InsertOneAsync`方法插入。
```csharp
var document = new BsonDocument
{
{ "Name", "John" },
{ "Age", 30 }
};
await collection.InsertOneAsync(document);
```
4. **查询数据(查)**:
使用`Find`方法获取匹配条件的文档,可以提供筛选器和排序选项。
```csharp
var filter = Builders<BsonDocument>.Filter.Eq("Name", "John");
var results = await collection.Find(filter).ToListAsync();
foreach (var result in results)
{
Console.WriteLine(result["Name"].ToString());
}
```
5. **更新数据(改)**:
使用`UpdateOne`方法替换或部分修改匹配的文档。
```csharp
filter = Builders<BsonDocument>.Filter.Eq("Name", "John");
await collection.UpdateOneAsync(filter, Builders<BsonDocument>.Update.Set("Age", 31));
```
6. **删除数据(删)**:
使用`DeleteOne`或`DeleteMany`方法删除文档,同样基于过滤器。
```csharp
filter = Builders<BsonDocument>.Filter.Eq("Name", "John");
await collection.DeleteOneAsync(filter);
```
阅读全文