.Net中MoongoDB的简单调用图文教程(2)

//分页 FindOptions<Person, Person> findop = new FindOptions<Person, Person>(); findop.Limit = 3;//取最多几条 findop.Skip = 2;//跳过几条 findop.Sort = Builders<Person>.Sort.Ascending(p => p.Age).Ascending(p => p.Name);//排序 using (var cursor = collection.FindAsync(filter, findop).Result) { var items = cursor.ToList(); foreach (var item in items) { Console.WriteLine(item.Age + item.Name); } }

指定排序规则 findop.Sort = Builders<Person>.Sort.Ascending(p => p.Age).Ascending(p => p.Name);

5、Json格式取法

//json格式取法 IMongoCollection<BsonDocument> bsonDoc = database.GetCollection<BsonDocument>("Persons"); var filter4 = Builders<BsonDocument>.Filter.Gt("Age", 5); using (var persons=await bsonDoc.FindAsync(filter4)) { foreach (var item in await persons.ToListAsync()) { Console.WriteLine(item.GetValue("Name").AsString); } }

6、Update更新操作

IMongoCollection<Person> upPersons = database.GetCollection<Person>("Persons"); var upFilter = Builders<Person>.Filter.Where(p => p.Age>20);//筛选条件 var update = Builders<Person>.Update.Set(c => c.Name, "test2");//更新条件,将Name更新成test2 upPersons.UpdateMany(filter, update);

7、Delete删除操作

IMongoCollection<Person> teachers = database.GetCollection<Person>("Persons"); var deletefilter = Builders<Person>.Filter.Where(p => p.Id == 1); teachers.DeleteMany(deletefilter);

用 Update 机会比较少,如果频繁的用 Update 可能意味着用错了;也不要想着 join、group by, 还是场景不对!

8、MongoDB 应用场景

日志记录系统;设备监控数据的存储;饿了么外卖骑手接单; 存储商品、商家信息;网站评论信息;存储爬虫爬过来的第三方数据;

但是像订单、金融交易、游戏装备等这些关键信息不要用 MongoDB;

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wdswwj.html