前提:引入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();








网友评论