MongoDB3.0 Driver of .NET

翻译 2015年11月19日 20:46:05

MongoDB3.0版本后,.NET的驱动更新了2.0版本,全面100%从底层支持异步(Not only is the API async on the surface, the driver is 100% async down to the lowest level.)。

新的API基于最上层的三个接口:IMongoClientIMongoDatabase, IMongoCollection。新的应用模式是先 创建一个MongoClient实例,调用GetDatabase得到IMongoDatabase实例,然后调用GetCollection得到IMongoCollection实例。大多数操作会用IMongoCollection实例,少数操作用IMongoClient 或者IMongoDatabase层的接口。

新的IMongoCollection接口比原来的MongoCollection 类的方法少很多,更方便使用.一方面这通过利用Options类来可选参数,这样我们不必要重载多个方法只为了提供不同参数的方法。另一方面,通过引进fluent API 来实现最常用的查找和聚合。

初始代码:

var client = new MongoClient("mongodb://localhost");

var database = client.GetDatabase("foo");

var collection = database.GetCollection<BsonDocument>("bar");

插入:

var document = new BsonDocument { { "_id", 1 }, { "x", 2 } };

await collection.InsertOneAsync(document);

InsertOneAsync返回一个没有值的Task,插入完成后Task要么完成,要么错误状态。

查询:

var filter = new BsonDocument("x", new BsonDocument("$gte", 100));

var documents = await collection.Find(filter).ToListAsync();

如果查询返回很多文档,应该在流中处理他们而不是把他们转成一张大表。

var filter = new BsonDocument("x", new BsonDocument("$gte", 100));

await collection.Find(filter).ForEachAsync(async document =>

{

await ProcessDocumentAsync(document);

});

正如驱动是100%异步的,你的程序也应该100%异步,在上面的例子文档是异步处理的。


原文地址

使用mongo-java-driver3.0.2.jar和mongodb3.0在java代码中的用户验证4

以下是使用mongo-java-driver3.0.2.jar和mongodb3.0.4在java代码中的用户验证: ServerAddress sa = new ServerAddress(host...
  • tuzongxun
  • tuzongxun
  • 2015年08月14日 09:00
  • 1752

Linux平台下安装MongoDB(3.0.6)

MongoDB数据库在Linux平台下的安装也是比较简单的,直接解压,然后启动MongoDB服务就可以了,具体的安装步骤如下: 1.下载MongoDB数据库 由于我自己的Linux系统是32位的,所以...
  • qq_20545159
  • qq_20545159
  • 2015年09月24日 19:55
  • 687

MongoDB 3.0 速上手教程(JAVA)

最近做项目想用一下NoSQL数据库,由于项目需要保存大量的json数据,我就选了MongoDB作为我的数据库。 最新版为3.0 下载安装都很容易,今天按照教程一步一步实现了增删改查等工作,本文将...
  • z69183787
  • z69183787
  • 2016年02月15日 17:29
  • 1351

mongodb3.0安装

首先按照文档说明操作 1. vim /etc/yum.repos.d/mongodb-org-3.0.repo     写入以下内容: [mongodb-org-3.0] name=MongoDB ...
  • yuanchao99
  • yuanchao99
  • 2015年06月20日 09:47
  • 2363

linux driver net

http://www.cublog.cn/u/2108/showart_223258.html Linux内核数据包处理流程-数据包接收 与其说这篇文章分析了网卡驱动中中数据包的接收,还不如说是以e...
  • devehe
  • devehe
  • 2010年04月21日 10:50
  • 451

mongodb3.0 性能测试报告 三

多个场景对mongodb 3.0 的性能进行测试
  • yangjian15
  • yangjian15
  • 2015年03月30日 20:18
  • 1157

MongoDB3.0 新特性

MongoDB3.0新版提升效率并减少95%运维成本 天极网软件频道2015-03-02 08:53分享到:我要吐槽   【天极软件频道消息】MongoDB数据库公司继2014年4月推出被称为Mo...
  • gongxinju
  • gongxinju
  • 2015年04月07日 12:22
  • 330

Mongodb3.0配置文件

基本配置如下: systemLog:   destination: file   path: "/home/admin/mongodb3/logs/shard1.log"   logAppen...
  • java_4_ever
  • java_4_ever
  • 2015年10月27日 15:07
  • 1006

实用.net内存泄露(memory leak)解决方案

IntroductionUsually, it is very cumbersome to detect and locate memory leaks.This article will provi...
  • yuanhuiqiao
  • yuanhuiqiao
  • 2009年10月10日 14:18
  • 4605

net driver connect

 ulong lu_retn,ll_ErrorBufSize,ll_nNameBufSizestring ls_Errorinfo,ls_netName//错误详细信息long ll_err_code...
  • englew
  • englew
  • 2009年11月04日 15:56
  • 258
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:MongoDB3.0 Driver of .NET
举报原因:
原因补充:

(最多只允许输入30个字)