1. MongoDB官方驱动:mongo-csharp-driver,下载地址:https://github.com/mongodb/mongo-csharp-driver/downloads
2. 第三方驱动samus,这是一款使用使用较多的驱动,更新频率比较快,samus驱动除了支持一般形式的操作之外,还支持Linq 和Lambda 表达式。下载地址:https://github.com/samus/mongodb-csharp。MongoDB.Driver.dll :mongodb驱动
using MongoDB.Bson; using MongoDB.Driver;
string connectionString = " mongodb://localhost " ; //mongodb://[username:password@]hostname[:port][/[database][?options]] MongoServer server = MongoServer.Create(connectionString);// 连接到一个MongoServer上
MongoDatabase database = server.GetDatabase("test"); // "test" 是数据库名称
MongoCollection col = db.GetCollection("Users");//Users集合名
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", "wowen" } } } }; //执行更新操作 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); }