c# 操作MongoDB

2019-08-24  本文已影响0人  王清水

前提:引入MongoDB.Driver、MongoDB.Bson

流程:

1,MongoClient实例实际上代表了一个到数据库的连接池,即使有多个线程,也只需要一个MongoClient类的实例;
                var client = new MongoClient("mongodb:localhost:27017");

2,使用client的GetDatabase方法获取数据库,即使该数据库不存在,也会自动创建;
                 var database = client.GetDatabase("test");

3,获取数据集 collection;BsonDocument是在数据没有预先定义好的情况下使用的,下面是获取“user”数据集;
                var collection = database.GetCollection<BsonDocument>("user");

4,操作插入一条数据;
                var document = new BsonDocument { {"id", 2 }, {"name", "laomao" }, {"age", 18 } };
                collection.InsertOne(document);

5,查询数据, a,获取第一条数据; b,获取所有数据; c,获取指定条件下的数据;
                 var res_a = collection.Find(new BsonDocument()).FirstOrDefault(); //查询当前数据集的第一条数据,没有则返回null
                 var res_b = collection.Find(new BsonDocument()).ToList(); //查询整个数据集
                 var res_c = collection.Find(Builders<BsonDocument>.Filter.Lt("id", 10) & Builders<BsonDocument>.Filter.Gte("id", 2)).ToCursor(); //查询id小于10,大于2的数据

6,更新数据
                collection.UpdateMany(Builders<BsonDocument>.Filter.Eq("id", 2), Builders<BsonDocument>.Update.Set("name", "hello"));   //将id字段为2的名字都改为“hello”;

7,删除
                同上,collection.DeleteMang();

流程5--查询结果输出

升序降序:

var sort_ascending = Builders<BsonDocument>.Sort.Ascending("id"); //根据id升序
var sort_descending = Builders<BsonDocument>.Sort.Descending("id"); //根据id降序
var  res_c = collection.Find(Builders<BsonDocument>.Filter.Lt("id", 100)).Sort(sort_ascending).ToCursor();

上一篇 下一篇

猜你喜欢

热点阅读