运维开发网

C# 对MongoDB 进行增删改查的简单操作实例

运维开发网 https://www.qedev.com 2020-02-17 16:50 出处:网络 作者: 网络整理
这篇文章介绍了C# 对MongoDB 进行增删改查的简单操作实例,有需要的朋友可以参考一下

运用到的MongoDB支持的C#驱动,当前版本为1.6.0

下载地址:https://github.com/mongodb/mongo-csharp-driver/downloads

1,连接数据库

复制代码 代码如下:

        /// <summary>

        /// 数据库连接

         /// </summary>

        private const string conn = "mongodb://127.0.0.1:27017";

        /// <summary>

        /// 指定的数据库

         /// </summary>

        private const string dbName = "mongodb_name";

        /// <summary>

        /// 指定的表

         /// </summary>

        private const string tbName = "table_text";

     //创建数据连接

         MongoServer server = MongoServer.Create(conn);

            //获取指定数据库

         MongoDatabase db = server.GetDatabase(dbName);

            //获取表

         MongoCollection col = db.GetCollection(tbName);

 2、插入数据

因为MongoDB没有表的概念,所以自插入数据之前定义好自己的数据模型

User.cs

下面是添加数据的代码

复制代码 代码如下:

        /// <summary>

        /// 添加

        /// </summary>

        /// <param name="text">内容</param>

        /// <param name="articleId">文章ID</param>

        /// <param name="channelId">频道ID</param>

        /// <returns></returns>

        public static void Add(User t)

        {

            //创建数据连接

            MongoServer server = MongoServer.Create(conn);

            //获取指定数据库

            MongoDatabase db = server.GetDatabase(dbName);

            //获取表

            MongoCollection col = db.GetCollection(tbName);

            //插入

            col.Insert(t);

        }

3、删除操作

复制代码 代码如下:

        /// <summary>

        /// 根据ObjectID 删除

        /// </summary>

        /// <param name="objId"></param>

        public static void Delete(string objId)

        {

            //创建数据连接

            MongoServer server = MongoServer.Create(conn);

            //获取指定数据库

            MongoDatabase db = server.GetDatabase(dbName);

            //获取表

            MongoCollection<User> col = db.GetCollection<User>(tbName);

            IMongoQuery query = Query.EQ("_id", new ObjectId(objId));

            col.Remove(query);

        }

4、修改

复制代码 代码如下:

        /// <summary>

        /// 根据ObjectID 修改

        /// </summary>

        public static void Update(User t)

        {

            //创建数据连接

            MongoServer server = MongoServer.Create(conn);

            //获取指定数据库

            MongoDatabase db = server.GetDatabase(dbName);

            //获取表

            MongoCollection<User> col = db.GetCollection<User>(tbName);

            BsonDocument bd = BsonExtensionMethods.ToBsonDocument(t);

            IMongoQuery query = Query.EQ("_id", t.Id);

            col.Update(query, new UpdateDocument(bd));

        }

5、条件查询(简单)

复制代码 代码如下:

        /// <summary>

        /// 根据ObjectID 查询

        /// </summary>

        public static TuCao SelectOne(string objId)

        {

            //创建数据连接

            MongoServer server = MongoServer.Create(conn);

            //获取指定数据库

            MongoDatabase db = server.GetDatabase(dbName);

            //获取表

            MongoCollection<User> col = db.GetCollection<User>(tbName);

            //条件查询           

            return col.FindOne(Query.EQ("_id", new ObjectId(objId)));

        }

6、查询全部

复制代码 代码如下:

        /// <summary>

        /// 查询所有

        /// </summary>

        public static void SelectAll()

        {

            List<User> list = new List<User>();

            //创建数据连接

            MongoServer server = MongoServer.Create(conn);

            //获取指定数据库

            MongoDatabase db = server.GetDatabase(dbName);

            //获取表

            MongoCollection<User> col = db.GetCollection<User>(tbName);

            //查询全部

            list.AddRange(col.FindAll());

            //--------------------------------

            foreach (TuCao t in col.FindAll())

            {

                string id = t.Id.ToString();

                string text = t.Text;

                DateTime dt = t.Createdate;

            }

        }

0

精彩评论

暂无评论...
验证码 换一张
取 消