你的位置:首页 > 数据库

[数据库]C#操作MongoDB入门


声明:此文是我学习MongoDB一周以来的经验总结。一来给自己做一个备份,二来给和我一样刚接触MongoDB的小白分享一下,有什么问题,给位请多担待。

 

1、MongoDB安装及配置

  (1)下载:

      mongodb官网 https://www.mongodb.com/download-center

     

      进入官网下载页,你会发现版本都是windows Server......  但是不要担心,本人亲测win0也可以用,所以放心大胆的下载就可以了。安装过程比较简单,下一步就可以了,就不多说了。

  (2)配置

    在“D:\MongoDB\bin(此目录为bin文件夹所在目录,与默认位置不同,后面命令行下的操作基本都在此目录下进行)”目录下新建“data”文件夹,它将会作为数据存放的根文件夹。

    在“D:\MongoDB\bin”目录下新建“log”文件夹,作为日志文件夹。

 

    配置Mongo服务端:

      以管理员身份打开CMD窗口,按照如下方式输入命令:
      > d:
      > cd MongoDB

      >cd bin
      > mongod --dbpath "D:\MongoDB\data"

 

      然后在浏览器输入:http://localhost:27017/,可以看到如下提示:


      You are trying to access MongoDB on the native driver port. For http diagnostic access, add 1000 to the port number (可能会和这个不太一样,有字就行)

      如此,MongoDB数据库服务已经成功启动了。

 

      封装服务:

      还是运行cmd,进入bin目录,执行下列命令
      >mongod -dbpath "D:\MongoDB\data" -logpath "D:\MongoDB\log\MongoDB.log" -install -serviceName "MongoDB"

      这里--MongoDB.log就是开始建立的日志文件,--serviceName "MongoDB" 服务名为MongoDB。

      接着启动mongodb服务

      > D:\MongoDB>NET START MongoDB

      服务启动成功后可以测试一下

      进入bin目录,输入mongo显示如下信息,则服务启动成功。

      E:\Program Files\MongoDB\bin>mongo
      MongoDB shell version: 3.2.9
      connecting to: test
      >

      至此安装配置就完成了。

2、安装MongoDB的C#驱动

  打开C#,新建项目,点击 工具>Nuget程序包管理器>管理解决方案的Nuget程序包>联机,

  在搜索栏搜索mongodb

  安装MongoDB.Driver,MongoDB.Bson,MongoDB.Driver.Core三个程序包。

  然后添加引用

  using MongoDB.Driver;
  using MongoDB.Bson;

3、代码

  接下来就是写代码了,以下是我写的最简单的增删改查操作(水平有限,凑合看)

 1 using System; 2 using System.Collections.Generic; 3 using System.ComponentModel; 4 using System.Data; 5 using System.Drawing; 6 using System.Linq; 7 using System.Text; 8 using System.Threading.Tasks; 9 using System.Windows.Forms;10 using MongoDB.Driver;11 using MongoDB.Bson;12 13 14 namespace MongoDBTest15 {16   public partial class Form1 : Form17   {18 19     public Form1()20     {21       InitializeComponent();22     }23 24     private void Form1_Load(object sender, EventArgs e)25     {26       Mongo();27     }28 29     public void Mongo()30     {31       //建立连接32       var client = new MongoClient();33       //建立数据库34       var database = client.GetDatabase("TestDb");35       //建立collection36       var collection = database.GetCollection<BsonDocument>("foo");37 38       var document = new BsonDocument39       {40         {"name","MongoDB"},41         {"type","Database"},42         {"count",1},43         {"info",new BsonDocument{{"x",203},{"y",102}}}44       };45       //插入数据46       collection.InsertOne(document);47 48       var count = collection.Count(document);49       Console.WriteLine(count);50 51       //查询数据52       var document1 = collection.Find(document);53       Console.WriteLine(document1.ToString());54 55       //更新数据56       var filter = Builders<BsonDocument>.Filter.Eq("name", "MongoDB");57       var update = Builders<BsonDocument>.Update.Set("name", "Ghazi");58 59       collection.UpdateMany(filter, update);60 61       //删除数据62       var filter1 = Builders<BsonDocument>.Filter.Eq("count", 101);63 64       collection.DeleteMany(filter1);65 66       BsonDocument document2 = new BsonDocument();67       document2.Add("name", "MongoDB");68       document2.Add("type", "Database");69       document2.Add("count", "1");70 71       collection.InsertOne(document2);72     }73   }74 }

View Code

 

4、参考资料

  http://mongodb.github.io/mongo-csharp-driver/2.2/getting_started/ 这个一定要静下心去看,虽然是英文的,但是看代码就行,还是不难的。

  http://www.cnblogs.com/qq75077027/category/441114.html 这个绝对是大神,讲的很详细