star870126 发表于 2015-7-8 10:25:52

MongoDB-Getting Started with the C# Driver

  简介:本文仅提供快速入门级别的使用C# Driver操作MongoDB,高手跳过


[*]Downloading the C# Driver
[*]猛击下载

[*]添加相关的dll引用


    MongoDB.Bson.dll
MongoDB.Driver.dll
[*]添加名称空间引用


using MongoDB.Bson;
using MongoDB.Driver;
[*]获取客户端对象


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);
[*]保存一条记录(发送整个实体到数据库)


entity.Name = "Dick";
collection.Save(entity);
[*]修改一条记录(仅发送修改的部分到数据库,这一点是和保存还是有区别的,根据场景来自行判断需要用哪一种来更新数据)


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 }
  
页: [1]
查看完整版本: MongoDB-Getting Started with the C# Driver