c#开发Mongo笔记第三篇
今天主要测试了一下查询功能了,当然了主要还是为了让查询可以和我们平时使用的实体对象关联起来,并且 那些BsonDocument和Collection我们操作起来不是太方便的
还是首先定义了一个用户类,注意这个类需要和mongo中的对象的字段完全匹配,包括大小写,不然查询的时候会出现字段无法匹配的错误
public class User { public ObjectId Id { get; set; } public string Name { get; set; } public int Age { get; set; } }
有了实体类就是怎么让查询结果和实体类关联起来了,
var list= collection.FindAllAs<User>();
主要是在findAllAs的时候查出来一个泛型集合,但是这个集合无法转成List集合(当然了,是我不会转,还希望会转的拍砖),它返回的集合是MongoCurror类型的,操作起来也不方便,干脆就用弱类型接收吧。
值得欣慰 的是这个集合在遍历的时候可以转换成User对象。
最大的好消息是在对这个集合查询的时候支持linq查询,是不是太强大了,让我们一起欢呼吧!!
MongoDatabase db = MongoHelper.GetConnection(); MongoCollection collection = db.GetCollection<User>("user"); User user = new User(); user.Name = "lisi"; user.Age = 20; collection.Insert<User>(user); var list= collection.FindAllAs<User>(); foreach (User item in list.Where(u=>u.Name=="lisi")) { Response.Write(item.Name); } //删除 // collection.Remove(new QueryDocument());
代码都很简单,主要是测试了一个把查询结果转成对象和一个linq条件查询