Mongodb基本操作之.net

1、下载官方for C#驱动

2、导入2个dll文件

3、连接字符串 

    <add key="MongoConn" value="mongodb://127.0.0.1:27017"/>
    <add key="Database" value="mytest"/>

4、获取MongoDatabase对象

     public static MongoDatabase GetMongoDatabase()
        {
            MongoClient mongoClient = new MongoClient(ConfigurationManager.AppSettings["MongoConn"]);
            MongoServer mongoServer = mongoClient.GetServer();
            return mongoServer.GetDatabase(ConfigurationManager.AppSettings["Database"]);
        }

5、新建Model对象

    可以指定,表中的实际字段名称

        [BsonElement("_id")]
        public ObjectId Id { get; set; }
        [BsonElement("name")]
        public string Name { get; set; }
        [BsonElement("sex")]
        public string  Sex { get; set; }
        [BsonElement("sec")]
        public string Sec { get; set; }
        [BsonElement("sd")]
        public string Sd { get; set; }
        [BsonElement("age")]
        public int Age { get; set; }    

 

6、查询

 //IMongoQuery query=  Query.EQ("name", "hao");  查询条件
            MongoCursor<UserModel> res = MongoHelper.GetMongoDatabase().GetCollection("users").FindAllAs<UserModel>();
            ViewData.Model = res;
            return View();

7、插入封装的Model对象

 public ActionResult Insert(UserModel userModel)
        {
           WriteConcernResult res= MongoHelper.GetMongoDatabase().GetCollection("users").Insert(userModel);
           if (res.Ok)
            {
                return Json("添加成功",JsonRequestBehavior.AllowGet);
            }
           return Json("添加失败", JsonRequestBehavior.AllowGet);
            
        }

8、根据objectId删除

IMongoQuery query = Query.EQ("_id", new BsonObjectId(id));
  WriteConcernResult res= MongoHelper.GetMongoDatabase().GetCollection("users").Remove(query);
  if (res.Ok)
  {
     return Json("删除成功", JsonRequestBehavior.AllowGet);
  }
    return Json("删除失败", JsonRequestBehavior.AllowGet);

9、更新数据

    可以使用save方法或者update方法,save方法比较方便。

public ActionResult Edit(string id)
        {
            UserModel res =
                MongoHelper.GetMongoDatabase().GetCollection("users").FindOneByIdAs<UserModel>(new BsonObjectId(id));
            ViewData.Model = res;
            return View();
        }

        [HttpPost]
        public ActionResult Edit(UserModel userModel,string Id)
        {    //此处UserModel的id不能获取  要转成ObjectId
             userModel.Id=new ObjectId(Id);
            //save操作会根据id更新  有相同id更新  没有匹配的添加
            WriteConcernResult res = MongoHelper.GetMongoDatabase().GetCollection("users").Save(userModel);
            //也可使用下面的方法
            //WriteConcernResult res = MongoHelper.GetMongoDatabase().GetCollection("users").Update(Query.EQ("_id", new BsonObjectId(userModel.Id)), new UpdateDocument(userModel.ToBsonDocument()));
            if (res.Ok)
            {
                return Json("更新成功", JsonRequestBehavior.AllowGet);
            }
            return Json("更新失败", JsonRequestBehavior.AllowGet);
        }

 

posted @ 2015-10-27 16:14  随缘梦中人  阅读(525)  评论(0编辑  收藏  举报