码迷,mamicode.com
首页 > Windows程序 > 详细

c#开发Mongo笔记第六篇

时间:2014-11-10 11:32:31      阅读:162      评论:0      收藏:0      [点我收藏+]

标签:style   blog   io   color   ar   使用   sp   数据   div   

之前写的五篇比较得到了大家的积极反馈,也有个别高手对我写我写出的代码进行了指教。

其中提到的我写的查询方法性能有问题,我想了想,如果mongo不是延时加载的话,那我的查询就真的有问题了,就成了查询出来所有的数据再进行二次筛选了。

可能这也是之前总是使用entity framework框架导致的习惯性这么写了吧。今天赶紧进行了一下代码,现在贴出来一下,省的之前的错误写法误导了大家,再此也感谢大家对我的批评指正

  public static User GetById(ObjectId id)
        {
            MongoDatabase db = MongoHelper.GetConnection();
            MongoCollection collection = db.GetCollection<User>("User");
        return    collection.FindOneByIdAs<User>(id);
         
        }
        public static User GetByName(string name)
        {
            MongoDatabase db = MongoHelper.GetConnection();
            MongoCollection collection = db.GetCollection<User>("User");
            var query = Query.And(Query.EQ("UserName", name));
         return   collection.FindOneAs<User>(query);
     
        }
      
        public static MongoCollection GetCollection()
        {
            MongoDatabase db = MongoHelper.GetConnection();
            return db.GetCollection<User>("User");
        }
       
        public static bool IsHasUser(IMongoQuery query)
        {
            MongoDatabase db = MongoHelper.GetConnection();
            MongoCollection collection = db.GetCollection<User>("User");
        return    collection.Count(query)>0;
        
        }
   
        public static void Update(IMongoQuery query,IMongoUpdate  update)
        {
            MongoDatabase db = MongoHelper.GetConnection();
            MongoCollection collection = db.GetCollection<User>("User");
            collection.Update(query, update);
        }

从灵活的角度我我觉得还是都传imongoquery类型的参数吧,比直接传string 类型的字符串要灵活的多,调用这个函数的时候我通常这么写

  var queryName = Query.And(Query.EQ("UserName", cwsnuser));
                        //验证用户是否存在
                        if (DALUser.IsHasUser(queryName))
                        {
                            return Content("2");//用户名重复
                        }

c#开发Mongo笔记第六篇

标签:style   blog   io   color   ar   使用   sp   数据   div   

原文地址:http://www.cnblogs.com/bjjjunjie/p/4086486.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!