丆丷匚 發表於 2019-10-25 09:17:00

C#操作Mongodb

<p>但是对于更新后的版本网上资料更多是针对老版本,有些API在新版本中是被废弃掉的。本文将介绍C#如何对window下Mongodb3.4进行简单的增删改查。</p>
<p>1、下载Mongodb,下载地址如下:</p>
<p>https://www.mongodb.com/download-center?jmp=nav#community</p>
<p>安装成功后(我这里是安装在D盘),需要在D盘中(如果安装在C盘,就在C盘中)创建一个Data文件夹,然后在Data文件夹中新建一个db文件夹,如下图所示:</p>
<p><img src="https://img2018.cnblogs.com/blog/876586/201910/876586-20191025091506765-1518056077.png"></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p><br>2、运行Mongodb服务</p>
<p>在Mongodb文件夹bin中,可以找到mongod.exe(服务端)和mongo.exe(客户端),我们需要用cmd以管理员身份运行mongod.exe,运行结果如图所示:</p>
<p>这样Monodb服务就开启成功(mongodb默认分配的端口号都是27017)</p>
<p>我们再以相同的方式运行mongo.exe,运行结果如图所示:</p>
<p>&nbsp;<img src="https://img2018.cnblogs.com/blog/876586/201910/876586-20191025091521592-924574607.png"></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>Mongodb服务器显示连接上来的客户端信息。</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<div id="cnblogs_post_body" class="blogpost-body">
<div class="postBody">
<div>
<p>运用到的MongoDB支持的C#驱动,当前版本为1.6.0</p>
<p>1,连接数据库</p>
<div class="cnblogs_code">
<div class="cnblogs_code_toolbar">&nbsp;</div>
<pre>      /// &lt;summary&gt;
      /// 数据库连接
         /// &lt;/summary&gt;
      private const string conn = "mongodb://127.0.0.1:27017";
      /// &lt;summary&gt;
      /// 指定的数据库
         /// &lt;/summary&gt;
      private const string dbName = "mongodb_name";
      /// &lt;summary&gt;
      /// 指定的表
         /// &lt;/summary&gt;
      private const string tbName = "table_text";
     //创建数据连接
         MongoServer server = MongoServer.Create(conn);
            //获取指定数据库
         MongoDatabase db = server.GetDatabase(dbName);
            //获取表
         MongoCollection col = db.GetCollection(tbName);</pre>
<div class="cnblogs_code_toolbar">&nbsp;</div>
</div>
<p>&nbsp;</p>
<p>&nbsp;2、插入数据</p>
<p>因为MongoDB没有表的概念,所以自插入数据之前定义好自己的数据模型</p>
<p>User.cs</p>
<p>下面是添加数据的代码</p>
<div class="cnblogs_code">
<div class="cnblogs_code_toolbar">&nbsp;</div>
<pre>      /// &lt;summary&gt;
      /// 添加
      /// &lt;/summary&gt;
      /// &lt;param name="text"&gt;内容&lt;/param&gt;
      /// &lt;param name="articleId"&gt;文章ID&lt;/param&gt;
      /// &lt;param name="channelId"&gt;频道ID&lt;/param&gt;
      /// &lt;returns&gt;&lt;/returns&gt;
      public static void Add(User t)
      {
            //创建数据连接
            MongoServer server = MongoServer.Create(conn);
            //获取指定数据库
            MongoDatabase db = server.GetDatabase(dbName);
            //获取表
            MongoCollection col = db.GetCollection(tbName);
            //插入
            col.Insert(t);

      }</pre>
<div class="cnblogs_code_toolbar">&nbsp;</div>
</div>
<p>3、删除操作</p>
<div class="cnblogs_code">
<div class="cnblogs_code_toolbar">&nbsp;</div>
<pre>      /// &lt;summary&gt;
      /// 根据ObjectID 删除
      /// &lt;/summary&gt;
      /// &lt;param name="objId"&gt;&lt;/param&gt;
      public static void Delete(string objId)
      {
            //创建数据连接
            MongoServer server = MongoServer.Create(conn);
            //获取指定数据库
            MongoDatabase db = server.GetDatabase(dbName);
            //获取表
            MongoCollection&lt;User&gt; col = db.GetCollection&lt;User&gt;(tbName);

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

            col.Remove(query);
      }</pre>
<div class="cnblogs_code_toolbar">&nbsp;</div>
</div>
<p>4、修改</p>
<div class="cnblogs_code">
<div class="cnblogs_code_toolbar">&nbsp;</div>
<pre>      /// &lt;summary&gt;
      /// 根据ObjectID 修改
      /// &lt;/summary&gt;
      public static void Update(User t)
      {
            //创建数据连接
            MongoServer server = MongoServer.Create(conn);
            //获取指定数据库
            MongoDatabase db = server.GetDatabase(dbName);
            //获取表
            MongoCollection&lt;User&gt; col = db.GetCollection&lt;User&gt;(tbName);

            BsonDocument bd = BsonExtensionMethods.ToBsonDocument(t);

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

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

      }</pre>
<div class="cnblogs_code_toolbar">&nbsp;</div>
</div>
<p>5、条件查询(简单)</p>
<div class="cnblogs_code">
<div class="cnblogs_code_toolbar">&nbsp;</div>
<pre>      /// &lt;summary&gt;
      /// 根据ObjectID 查询
      /// &lt;/summary&gt;
      public static User TuCao SelectOne(string objId)
      {
            //创建数据连接
            MongoServer server = MongoServer.Create(conn);
            //获取指定数据库
            MongoDatabase db = server.GetDatabase(dbName);
            //获取表
            MongoCollection&lt;User&gt; col = db.GetCollection&lt;User&gt;(tbName);
            //条件查询            
            return col.FindOne(Query.EQ("_id", new ObjectId(objId)));
      }</pre>
<div class="cnblogs_code_toolbar">&nbsp;</div>
</div>
<p>6、查询全部</p>
<div class="cnblogs_code">
<div class="cnblogs_code_toolbar">&nbsp;</div>
<pre>      /// &lt;summary&gt;
      /// 查询所有
      /// &lt;/summary&gt;
      public static void SelectAll()
      {
            List&lt;User&gt; list = new List&lt;User&gt;();

            //创建数据连接
            MongoServer server = MongoServer.Create(conn);
            //获取指定数据库
            MongoDatabase db = server.GetDatabase(dbName);
            //获取表
            MongoCollection&lt;User&gt; col = db.GetCollection&lt;User&gt;(tbName);
            //查询全部
            list.AddRange(col.FindAll());

            //--------------------------------
            foreach (User t in col.FindAll())
            {
                string id = t.Id.ToString();
                string text = t.Text;
                DateTime dt = t.Createdate;
            }
      }</pre>
<div class="cnblogs_code_toolbar">&nbsp;</div>
</div>
<p>&nbsp;</p>
</div>
</div>
</div>
<p>转载于:https://www.cnblogs.com/liaocheng/p/5087453.html</p>
<p><br>&nbsp;<br>原文链接:https://blog.csdn.net/m0_37044279/article/details/76863470</p><br><br>
来源:https://www.cnblogs.com/lhxsoft/p/11736260.html
頁: [1]
查看完整版本: C#操作Mongodb