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


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

     

    下面演示下C#操作MongoDB驱动的简单的增删改查代码

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

    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 User 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 (User t in col.FindAll())
                {
                    string id = t.Id.ToString();
                    string text = t.Text;
                    DateTime dt = t.Createdate;
                }
            }
     
  • 相关阅读:
    蓝牙的AVDTP协议笔记
    蓝牙的AVCTP协议笔记
    hosts学习整理
    Win10报错0x800f0906
    Git Bash的妙用
    将xml文件由格式化变为压缩字符串
    try-with-resource机制的一个编译陷阱
    Git回滚代码暴力法
    IDEA中Git分支未push的变更集如何合并到另一个分支
    日期类型存储成字符串类型的格式问题
  • 原文地址:https://www.cnblogs.com/liaocheng/p/5087453.html
Copyright © 2020-2023  润新知