代码改变世界

C# MongoDB简单增删改查使用

2015-07-21 12:09  老厨子  阅读(538)  评论(0编辑  收藏  举报

关系型数据库:做任何的增删改查都要开启隐式实务来维持数据的完整性,占用磁盘空间比较大;

      上面所说的隐式实务是数据库本身开启的,是不能由开发者去操作的;说到隐式实务,就会有人问道显示实务显示实务是由开发者在代码中控制开启的事务,必须要有commit或者rollback;比如ADO中的SqlConnection con=new SqlConnection();var tran=con.BeginTrancation();tran.Commit();tran.Rollback()对象开启事务;这些语句就是显示实务语句。所以一条SQL语句在工作的时候需要开启隐式实务;那么在使用关系型数据库的时候会影响他的查询速度。

NoSql(Not Only SQL):非关系型数据库,现在比较流行使用的非关系型数据库Redis(键值对存储数据库)、MongoDB(文档型数据库)。

下面来说MongoDB的那些事吧。。。。。。

      MongoDB 连接字符串格式:IP地址+端口号(默认27017,28017);例如:Server=127.0.0.1:27017

 一、增加一条数据

           // 首先创建一个连接
            using (Mongo server = new Mongo(connString))
            {
                //打开连接
                server.Connect();

                // 切换到指定的数据库
                var db = server.GetDatabase(dbName);

                //获取Info的集合
                var list = db.GetCollection<Info>();

                //新增一条数据
                Info model = new Info()
                {
                    ID = 2,
                    Name = "海山来客"
                };

                list.Insert(model);
            }

 二、删除数据

using (Mongo server = new Mongo(connString))
            {
                server.Connect();

                var db = server.GetDatabase(dbName);
                var coll = db.GetCollection<Info>();
                coll .Remove(c => c.ID == 1);
            }

 三、修改数据

using (Mongo server = new Mongo(connString))
            {
                server.Connect();
                var db = server.GetDatabase(dbName);

                var collection = db.GetCollection<Info>();

                //var model=collection.Find<Info(c=>c.ID==1).Documents.First();

                //model.Name = "海山来客";

                Info model = new Info() { ID=2, Name="海山来客" };

                collection.Update<Info>(model, c => c.ID == model.ID);

            }

 四、查询数据

 using (Mongo server = new Mongo(connString))
            {
                //打开连接
                server.Connect();

                // 切换到指定的数据库
                var db = server.GetDatabase(dbName);

                //获取Info的集合
                var list = db.GetCollection<Info>();

                var whereList = list.Find(c => c.ID == 2);

                var grouinfo = whereList.Documents。tolist();

                 }

 

 

收集到的一些比较基础的案例:

文档地址:http://blog.csdn.net/dannywj1371/article/details/7440916
http://www.360doc.com/content/14/0505/11/16021371_374739036.shtml