C# 对MongoDB 进行增删改查的简单操作

/// <summary>
/// 查询所有
/// </summary>
public static void SelectAll()
{
List<User> list = new List<User>();

//创建数据连接
MongoServer server = MongoServer.Create(conn);
//获取指定数据库
MongoDatabase db = server.GetDatabase(dbName);
//获取表
MongoCollection<User> col = db.GetCollection<User>(tbName);
//查询全部
list.AddRange(col.FindAll());

//--------------------------------
foreach (User t in col.FindAll())
{
string id = t.Id.ToString();
string text = t.Text;
DateTime dt = t.Createdate;
}
}

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); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值