var connectionString = "mongodb://localhost";
var client = new MongoClient(connectionString);
获取服务端对象
var server = client.GetServer();
获取要操作的数据库
var database = server.GetDatabase("test"); // "test" is the name of the database
CRUD(使用自定义的类)
自定义实体
public class Entity
{
public ObjectId Id { get; set; }
public string Name { get; set; }
}
获取要操作的表
// "entities" is the name of the collection
var collection = database.GetCollection("entities");
新增一条记录
var entity = new Entity { Name = "Tom" };
collection.Insert(entity);
var id = entity.Id; // Insert will set the Id if necessary (as it was in this example)
查询一条记录
var query = Query.EQ(e => e.Id, id);
var entity = collection.FindOne(query);
var query = Query.EQ(e => e.Id, id);
var update = Update.Set(e => e.Name, "Harry"); // update modifiers
collection.Update(query, update);
删除一条记录
var query = Query.EQ(e => e.Id, id);
collection.Remove(query);
完整演示代码:
1 using MongoDB.Bson;
2 using MongoDB.Driver;
3 using MongoDB.Driver.Builders;
4 using System;
5 using System.Collections.Generic;
6 using System.Linq;
7 using System.Linq.Expressions;
8 using System.Text;
9 using System.Threading.Tasks;
10
11 namespace MongoDBTest
12 {
13 class Program
14 {
15 static void Main(string[] args)
16 {
17 var connectionString = "mongodb://localhost:27017";
18 var client = new MongoClient(connectionString);
19 var server = client.GetServer();
20 var database = server.GetDatabase("test");
21 var collection = database.GetCollection("entities");
22 var entity = new Entity { Name = "Tom" };
23 var i = collection.Insert(entity);
24 var id = entity.Id;
25
26 var query = Query.EQ(e => e.Id, id);
27 entity = collection.FindOne(query);
28 entity.Name = "Dick";
29 var s = collection.Save(entity);
30
31 var update = Update.Set(e => e.Name, "Harry");
32 collection.Update(query, update);
33
34
35 collection.Remove(query);
36
37 Console.ReadKey();
38
39 }
40
41
42 }
43 public class Entity
44 {
45 public ObjectId Id;
46 public string Name { get; set; }
47 }
48
49 }