首先添加所需要驱动包(可通过nuget获得)
using MongoDB.Bson;
using MongoDB.Driver;
using MongoDB.Driver.Builders;
一、设置配置信息
//
连接信息
static
string
conn =
"
mongodb://localhost
"
;
static
string
database =
"
test
"
;
static
string
collection =
"
person
"
;
static
MongoServer mongodb = MongoServer.Create(conn);
//
连接数据库
static
MongoDatabase db = mongodb.GetDatabase(database);
//
选择数据库名
static
MongoCollection mc = db.GetCollection(collection);
//
选择集合,相当于表
二、插入数据库
public
static
void
Insert(Person p)
{
mc.Insert(p);
}
public
static
void
Insert(BsonDocument b)
{
mc.Insert(b);
}
三、更新数据库
public
static
void
Update(Person p)
{
BsonDocument bd
=
BsonExtensionMethods.ToBsonDocument(p);
IMongoQuery query
= Query.EQ(
"
_id
"
, p._id);
mc.Update(query,
new
UpdateDocument(bd));
}
public
static
void
Update(QueryDocument q,UpdateDocument u)
{
mc.Update(q, u);
}
四、删除某条记录
public
static
void
Delete(
int
id)
{
mc.Remove(Query.EQ(
"
_id
"
, id));
}
五、查询数据库
public
static
Person Find(
int
id)
{
return
mc.FindOneAs<Person>(Query.EQ(
"
_id
"
, id));
}
public
static
MongoCursor<Person>
FindAll()
{
return
mc.FindAllAs<Person>
();
}
public
static
MongoCursor<Person>
Select(QueryDocument q)
{
return
mc.FindAs<Person>
(q);
}
六、统计数据个数
public
static
long
Count(QueryDocument q)
{
return
mc.Count(q);
}
七、排序和分页
public
static
MongoCursor<Person> SkipAndLimit(
int
a,
int
b)
{
return
mc.FindAllAs<Person>
().SetSkip(a).SetLimit(b);
}
八、应用与示例
static
void
Main(
string
[] args)
{
mongodb.Connect();
//
var person = Find(124);
//
Console.WriteLine(person.Name);
//
person.Name = "guizhu";
//
Update(person);
//
Console.WriteLine(person.Name);
var
query =
new
QueryDocument { {
"
_id
"
,
13
} };
var
update =
new
UpdateDocument { {
"
$set
"
,
new
QueryDocument { {
"
PassWord
"
,
"
aaaaa
"
} } } };
Update(query,update);
//
对象插入
//
Person p = new Person { _id = 12, Name = "hello", PassWord = "4444" };
//
Insert(p);
//
BsonDocument 插入
//
BsonDocument b = new BsonDocument();
//
b.Add("_id", 13);
//
b.Add("Name", "world");
//
b.Add("PassWord", "6666");
//
Insert(b);
//
var p= FindAll();
//
foreach (var person in p)
//
{
//
Console.WriteLine(person.Name);
//
}
//
QueryDocument query = new QueryDocument();
//
BsonDocument b = new BsonDocument();
//
b.Add("$gte", 123);
//
b.Add("$lt", 125);
//
query.Add("_id", b);
//
var p=Select(query);
//
foreach (var person in p)
//
{
//
Console.WriteLine(person.Name);
//
}
//
Console.WriteLine(Count(query));
//
FieldsDocument f = new FieldsDocument();
//
f.Add("Name", 1);
//
MongoCursor<Person> m = mc.FindAs<Person>(query).SetFields(f);
//
foreach (var person in p)
//
{
//
Console.WriteLine(person.Name);
//
}
//
SortByDocument s = new SortByDocument();
//
s.Add("_id", 1);
//
-1=DESC
//
var p = Sort(s);
//
foreach (var person in p)
//
{
//
Console.WriteLine(person.Name);
//
}
//
var p = SkipAndLimit(1, 3);
//
foreach (var person in p)
//
{
//
Console.WriteLine(person.Name);
//
}
//
Delete(12);
Console.WriteLine(
"
完成
"
);
Console.ReadLine();
}
class
Person
{
public
int
_id;
public
string
Name;
public
string
PassWord;
}
源码下载地址:链接:http://pan.baidu.com/s/1c0tlXZi 密码:1es5

