这个简易教程提供了足够的信息,当你开始时,你可以参考其他文件的更多信息。
下载 c# 驱动:
http://github.com/mongodb/mongo-csharp-driver/downloads
添加 引用
using MongoDB.Bson;
using MongoDB.Driver;
还有这些
using MongoDB.Driver.Builders;
using MongoDB.Driver.GridFS;
using MongoDB.Driver.Linq;
在特殊情况下引用这些命名空间
连接一个对服务器对象
var connectionString = "mongodb://localhost/?safe=true";
var server = MongoServer.Create(connectionString);
你几乎总是要加上“safe=true”到您的连接字符串。
连接一个对数据库对象
var database = server.GetDatabase("test"); // "test" is the name of the database
如果还有其他的数据库,可以同样用GetDatabase
你可以使用bsondocument对象模型或是自己定义的对象
有这2种方法可以用于 collections
1.利用BsonDocument
2.利用自己定义的类
连接一个对表对象
var collection = database.GetCollection<Entity>("entities"); // "entities" is the name of the collection
插入数据
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("_id", id);
var entity = collection.FindOne(query);
Query.EQ 是通过查询器帮助你查询。
"_id " 是一个字段名
其他的查询包括 GT, GTE, In, LT, LTE, Near, NE, And, Or 等。
不需要调用连接或断开
c# 驱动 已经有了一个连接池用于处理连接,更加有效,而且调用 Connect 是没什么影响的,
但调用 Disconnect ,就会关闭掉连接池内的所有连接
例子:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using MongoDB.Bson;
using MongoDB.Driver;
using MongoDB.Driver.Builders;
namespace ConsoleApplication1
{
public class Entity
{
public ObjectId Id { get; set; }
public string Name { get; set; }
}
class Program
{
static void Main(string[] args)
{
var connectionString = "mongodb://localhost/?safe=true";
var server = MongoServer.Create(connectionString);
var database = server.GetDatabase("test");
var collection = database.GetCollection<Entity>("entities");
var entity = new Entity { Name = "Tom" };
collection.Insert(entity);
var id = entity.Id;
var query = Query.EQ("_id", id);
entity = collection.FindOne(query);
entity.Name = "Dick";
collection.Save(entity);
var update = Update.Set("Name", "Harry");
collection.Update(query, update);
collection.Remove(query);
}
}
}