• C#操作Mongodb


    但是对于更新后的版本网上资料更多是针对老版本,有些API在新版本中是被废弃掉的。本文将介绍C#如何对window下Mongodb3.4进行简单的增删改查。

    1、下载Mongodb,下载地址如下:

    https://www.mongodb.com/download-center?jmp=nav#community

    安装成功后(我这里是安装在D盘),需要在D盘中(如果安装在C盘,就在C盘中)创建一个Data文件夹,然后在Data文件夹中新建一个db文件夹,如下图所示:


    2、运行Mongodb服务

    在Mongodb文件夹bin中,可以找到mongod.exe(服务端)和mongo.exe(客户端),我们需要用cmd以管理员身份运行mongod.exe,运行结果如图所示:

    这样Monodb服务就开启成功(mongodb默认分配的端口号都是27017)

    我们再以相同的方式运行mongo.exe,运行结果如图所示:

     

    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;
                }
            }
     

    转载于:https://www.cnblogs.com/liaocheng/p/5087453.html


     
    原文链接:https://blog.csdn.net/m0_37044279/article/details/76863470

  • 相关阅读:
    7-30-组队赛
    POJ 3125 Printer Queue
    7-28-比赛
    POJ 3922 A simple stone game
    POJ 1845
    第一次组队训练
    I-number
    Radar Installation
    Robots on a grid(DP+bfs())
    Dividing a Chocolate(zoj 2705)
  • 原文地址:https://www.cnblogs.com/lhxsoft/p/11736260.html
Copyright © 2020-2023  润新知