使用mongoDB c#官方驱动操作mongoDB

因为需要用到操作mongo数据库的驱动,在网上找了,虽然有samus驱动、和有关LinqToMongo的等等驱动,但是还是选择了官方驱动,大概是因为我相信它稳定吧!糗大了(好吧,借口)

官方驱动下载地址:https://github.com/mongodb/mongo-csharp-driver/downloads

引用两个dll文件: MongoDB.Driver.dll:这就是官方驱动程序了

MongoDB.Bson.dll:Json、序列化相关

虽然公司有dev.mongo(根据官方驱动写的)这样的封装驱动,更加简单易用,但是更接近基础一点,不是吗。下面就开始我的学习之路。

首先,因为有了之前mongo的基础,在本地已经将MongoDB服务打开了,现在直接连接数据库。

//数据库连接字符串

 const string strconn = "mongodb://127.0.0.1:27017";

 //数据库名称

 const string dbName = "testdb";

//创建数据库链接

 MongoServer server = MongoDB.Driver.MongoServer.Create(strconn);

 //获得数据库test

 MongoDatabase db = server.GetDatabase(dbName);

好了,接下来添加数据,我们要添加一条User“记录”到 Users集合中。

在MongoDB中没有表的概念,创建的是集合,所以可以直接插入数据,不需先建表。

定义要插入的数据的模型Users.cs

    public class Users

   {

        public ObjectId  _id;// 对应 MongoDB.Bson.ObjectId 

     public string Name { get; set; }

        public string Sex { set; get; }



    }

 

添加数据

public void Insert()

{

    //创建数据库链接

 MongoServer server = MongoDB.Driver.MongoServer.Create(strconn);

    //获得数据库test

 MongoDatabase db = server.GetDatabase(dbName);

    Users users = new Users();

    users.Name = "test";

    users.Sex = "man";

    //获得Users集合,如果数据库中没有,先新建一个

 MongoCollection col = db.GetCollection("Users");

    //执行插入操作

 col.Insert<Users>(users);

}

 

更新数据

 

public void Update()

{

    //创建数据库链接

 MongoServer server = MongoDB.Driver.MongoServer.Create(strconn);

    //获得数据库test

 MongoDatabase db = server.GetDatabase(dbName);

    //获取Users集合

 MongoCollection col = db.GetCollection("Users");

    //定义获取“Name”值为“test”的查询条件

 var query = new QueryDocument { { "Name", "test" } };

    //定义更新文档

 var update = new UpdateDocument { { "$set", new QueryDocument { { "Sex", "women" } } } };

    //执行更新操作

 col.Update(query, update);

}

删除数据

public void Delete()

{

    //创建数据库链接

 MongoServer server = MongoDB.Driver.MongoServer.Create(strconn);

    //获得数据库test

 MongoDatabase db = server.GetDatabase(dbName);

    //获取Users集合

 MongoCollection col = db.GetCollection("Users");

    //定义获取“Name”值为“test”的查询条件

 var query = new QueryDocument { { "Name", "test" } };

    //执行删除操作

 col.Remove(query);

}

查询数据

public void Query()

{

    //创建数据库链接

 MongoServer server = MongoDB.Driver.MongoServer.Create(strconn);

    //获得数据库test

 MongoDatabase db = server.GetDatabase(dbName);

    //获取Users集合

 MongoCollection col = db.GetCollection("Users");

    //定义获取“Name”值为“test”的查询条件

 var query = new QueryDocument { { "Name", "test" } };



    //查询全部集合里的数据

 var result1 = col.FindAllAs<Users>();

    //查询指定查询条件的第一条数据,查询条件可缺省。

 var result2 = col.FindOneAs<Users>();

    //查询指定查询条件的全部数据

 var result3 = col.FindAs<Users>(query);

}

这样,运用mongoDB的C#官方驱动进行的基本操作就完成了。

原文链接:,转发请注明来源!
阿里云服务器

发表评论

  • 6 Responses to “使用mongoDB c#官方驱动操作mongoDB”