zoukankan      html  css  js  c++  java
  • C# 对MongoDB 进行增删改查的简单操作

    下面演示下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;
                }
            }
    复制代码
  • 相关阅读:
    C++常用库
    如何学好VC和MFC(各前辈学*方法及感受整理)(五)
    如何学好VC和MFC(各前辈学习方法及感受整理)(一)
    基于Winsock API的VC网络编程实战
    const int *p和int * const p的区别(常量指针与指向常量的指针) .
    java中的“包”与C#中的“命名空间
    vc加载lib文件的方法
    C|C++中的静态全局变量,静态局部变量,全局变量,局部变量的区别
    如何学好VC和MFC(各前辈学习方法及感受整理)(三)
    如何学好VC和MFC(各前辈学习方法及感受整理)(二)
  • 原文地址:https://www.cnblogs.com/qq75077027/p/2834786.html
Copyright © 2011-2022 走看看