MongoDB及其C#驱动

1:简单介绍

  MongoDB是一款分布式文档数据库,支持类似关型数据库的主从结构,文档以二进制Json形式存储,无锁,无事务,有索引。

2:安装步骤

  第一步:下载程序集http://www.mongodb.org/downloads

  第二部:解压并抽取相关的bin目录到C:\Mongo下(这个任意选择) ,并在该目录下建db文件夹。

  第三部:打开CMD窗口,进入到C:\Mongo\bin目录下,运行mongod.exe --dbpath="c:\Mongo\db"

  第四步:再开CMD窗口(保持以前的窗口不关闭)运行mongo.exe。在这个窗口你可以执行简单的命令,以下简单列出几个 

> j = { name : "mongo" };
{"name" : "mongo"}
> t = { x : 3 };
{ "x" : 3  }
> db.things.save(j);
> db.things.save(t);
> db.things.find();
{ "_id" : ObjectId("4c2209f9f3924d31102bd84a"), "name" : "mongo" }
{ "_id" : ObjectId("4c2209fef3924d31102bd84b"), "x" : 3 }
>

  

> for (var i = 1; i <= 20; i++) db.things.save({x : 4, j : i});
> db.things.find();

  

> var cursor = db.things.find();
> while (cursor.hasNext()) printjson(cursor.next());

  

> db.things.find().forEach(printjson);

  

> var cursor = db.things.find();
> printjson(cursor[4]);

  

> var arr = db.things.find().toArray();
> arr[5];

 

> db.things.find({name:"mongo"}).forEach(printjson);

 

> db.things.find({x:4}, {j:true}).forEach(printjson);

 

> printjson(db.things.findOne({name:"mongo"}));

 

> db.things.find().limit(3);

3:c#版的驱动

  以下列出几款C#版的驱动,并作简单介绍。

第一款:mongodb-csharp 项目地址:http://github.com/samus/mongodb-csharp

简单介绍:该驱动是比较全的驱动,更新随度非常快,有人已经应用到项目中去,并且表现非常好。目前他们的团队正在致力于连接管理这部分功能的扩展例如:自动重连,连接池等等。

 

第二款:mongodb-net 项目地址:http://code.google.com/p/mongodb-net/

简单介绍:该开发还在进行中,有些功能还没有实现。

 

第三款:MongoDB.Emitter 项目地址:http://bitbucket.org/gwbasic/mongodb.emitter/

简单介绍:提供了强类型支持

 

第四款:CSMongo 项目地址:http://somewebguy.wordpress.com/2010/02/21/building-a-mongo-driver-part-1/

简单介绍:实现了部分功能,并且没有可下载的代码。但是你可以看他的博客以了解这种驱动的思想。

 

第五款:simple-mongodb 项目地址:http://code.google.com/p/simple-mongodb/

简单介绍:没有提供源代码,以JSon为核心。

 

最后一个是对第一款某些地方的增强,地址http://deserialized.com/convert-csharp-classes-to-and-from-mongodb-documents-automatically-using-net-reflection

 

第六款:NoRM 项目地址:http://github.com/atheken/NoRM

介绍:增强了第一种,支持强类型。

 

排名部分先后,我现在再看的是 NoRM 和mongodb-csharp。

 

备注:

      虽然这些资料来自于网路,但是为了方便大家学习。我还是厚着脸皮放到首页,见谅啊。

 

 

 

 

 

posted @ 2010-07-15 17:05  李占卫  阅读(6496)  评论(12编辑  收藏  举报