var linquery = from e in collection.AsQueryable<Student>() where e.age > 20 select e; var linquery1 = collection.AsQueryable<Student>().Where(e => e.age > 20);
MongoDB文档中有很多的LINQ查询操作,请参阅MongoDB文档的LINQ部分
更新数据文档更新的方法有两种,通过Save方法进行整个文档替换,或者通过Update方法进行文档的部分更新。
例如,找到sid为9,并且name为Will9的这个文档,把age字段更新为27
Save方法var query = Query.And(Query.EQ("sid", 9), Query.EQ("name", "Will9")); BsonDocument Will9 = collection.FindOne(query); if (Will9 != null) { Will9["age"] = 27; collection.Save(Will9); }
Update方法var query = Query.And(Query.EQ("sid", 9), Query.EQ("name", "Will9")); var update = Update.Set("age", 27); collection.Update(query, update);
删除数据删除数据的操作相对比较简单。
删除特定条件的文档:
var query = Query.EQ("sid", 9); collection.Remove(query);
删除所有文档:
collection.RemoveAll();
总结通过这篇文章学习了MongoDB官方C# driver的基本操作。
三种查询方式中,Query Builder最灵活,使用LINQ方式查询是,最好所有的文档都有统一的模式,这样就可以方便的使用自定义类型。
CentOS 6 使用 yum 安装MongoDB及服务器端配置
Ubuntu 13.04下安装MongoDB2.4.3
《MongoDB 权威指南》(MongoDB: The Definitive Guide)英文文字版[PDF]
基于CentOS 6.5操作系统搭建MongoDB服务 uxidc.com/Linux/2014-11/108900.htm