Query.All("name", "a", "b");//通过多个元素来匹配数组

 Query.And(Query.EQ("name", "a"), Query.EQ("title", "t"));//同时满足多个条件

 Query.EQ("name", "a");//等于

 Query.Exists("type", true);//判断键值是否存在

 Query.GT("value", 2);//大于>

 Query.GTE("value", 3);//大于等于>=

 Query.In("name", "a", "b");//包括指定的所有值,可以指定不同类型的条件和值

 Query.LT("value", 9);//小于<

 Query.LTE("value", 8);//小于等于<=

 Query.Mod("value", 3, 1);//将查询值除以第一个给定值,若余数等于第二个给定值则返回该结果

 Query.NE("name", "c");//不等于

 Query.Nor(Array);//不包括数组中的值

 Query.Not("name");//元素条件语句

 Query.NotIn("name", "a", 2);//返回与数组中所有条件都不匹配的文档

 Query.Or(Query.EQ("name", "a"), Query.EQ("title", "t"));//满足其中一个条件

 Query.Size("name", 2);//给定键的长度

 Query.Type("_id", BsonType.ObjectId );//给定键的类型

 Query.Where(BsonJavaScript);//执行JavaScript

 Query.Matches("Title",str);//模糊查询 相当于sql中like -- str可包含正则表达式

示例:

using (var database = new Server.MongoDatabaseServer())
{ MongoCollection<BsonDocument> mc = database.GetCollection<BsonDocument>("NewsList");
DateTime qtime = DateTime.Now;
var query = Query.And(Query.GTE("PublishDate", startDate), Query.LTE("PublishDate", endDate), Query.EQ("NewsSource", "Kompas"));
foreach (BsonDocument emp in mc.Find(query))
{
long newsId = emp["NewsId"].AsInt64;
string title = emp["NewsTitle"].AsString;
Console.WriteLine("查询结束:新闻Id" + newsId + "----标题:" + title);
}
DateTime etime = DateTime.Now;
TimeSpan ts = etime.Subtract(qtime);
string stime = ts.TotalMilliseconds.ToString();
Console.ForegroundColor = ConsoleColor.Red;
Console.WriteLine("toatal use " + stime + " ms to Query ");
}

MongoDB官方C#驱动中查询条件Query用法的更多相关文章

  1. 基于MongoDb官方C#驱动封装MongoDbCsharpHelper类(CRUD类)

    近期工作中有使用到 MongoDb作为日志持久化对象,需要实现对MongoDb的增.删.改.查,但由于MongoDb的版本比较新,是2.4以上版本的,网上已有的一些MongoDb Helper类都是基 ...

  2. 适用于app.config与web.config的ConfigUtil读写工具类 基于MongoDb官方C#驱动封装MongoDbCsharpHelper类(CRUD类) 基于ASP.NET WEB API实现分布式数据访问中间层(提供对数据库的CRUD) C# 实现AOP 的几种常见方式

    适用于app.config与web.config的ConfigUtil读写工具类   之前文章:<两种读写配置文件的方案(app.config与web.config通用)>,现在重新整理一 ...

  3. eas之EntityViewInfo对象mainQuery中查询条件

    EntityViewInfo对象mainQuery中查询条件:  添加查询字段:(Sql语句中的selectz子句内容)    SelecttorItemCollection sic=new Sele ...

  4. SpringMVC MongoDB之“基本文档查询(Query、BasicQuery)”

    一.简介 spring Data  MongoDB提供了org.springframework.data.mongodb.core.MongoTemplate对MongoDB的CRUD的操作,上一篇我 ...

  5. YII2中查询生成器Query()的使用

    YII2中的yii\db\Query给我们提供了非常丰富的方法,方便我们构建复杂的SQL语句. Query()与createCommand最大区别在于,后者直接使用我们写好的SQL语句,前者通过参数和 ...

  6. jsp中查询条件的回显

    后台框架为ssh,前台纯手写无框架是最老的写法,因为是接手别人的项目无法改变框架原型,只能基于修改. 进入正题: 我这里查询条件有两种input的text(文本框)和select(下拉框). 1.te ...

  7. sql通配符+sql中查询条件包含下划线等通配符的写法

    一.SQL 通配符 在搜索数据库中的数据时,SQL 通配符可以替代一个或多个字符. SQL 通配符必须与 LIKE 运算符一起使用. 在 SQL 中,可使用以下通配符: 通配符 描述 % 替代一个或多 ...

  8. MongoDB小结19 - find【查询条件$all】

    利用all来查询所以满足的匹配项,已知数据库有这些数据 db.user.find({},{"_id":0}) { "fruit" : [ "apple ...

  9. MongoDB小结17 - find【查询条件$or】

    我们再添加一个游泳的人,并用$in查询游泳的人 db.user.find({"hobby":{"$in":["swimming"]}},{& ...

随机推荐

  1. scikit-learn一般实例之一:绘制交叉验证预测

    本实例展示怎样使用cross_val_predict来可视化预测错误: # coding:utf-8 from pylab import * from sklearn import datasets ...

  2. Model验证功能

    占位符  {0}对应属性  {1}对应minimum  {2}对应maximum   [StringLength(15, MinimumLength = 6, ErrorMessage = " ...

  3. javascript超过容器后显示省略号效果(兼容一行或者多行)

    javascript超过容器后显示省略号效果       在实际的项目中,由于文字内容的长度不确定性和页面布局的固定性,难免会出现文字内容超过div(或其他标签,下同)区域的情况,此时比较好的做法就是 ...

  4. C# 洗牌算法

    最近悟出来一个道理,在这儿分享给大家:学历代表你的过去,能力代表你的现在,学习代表你的将来. 十年河东十年河西,莫欺少年穷 学无止境,精益求精   C#洗牌算法如下: class Program { ...

  5. 【面试大系】PHP程序员的知识盘点

    总结下,PHP面试中常见的知识点,以备查漏补缺和不时之用. 1)php面试题之一——PHP核心技术(高级部分)

  6. Hibernate 小阶段总结

    (一)Hibernate入门 通俗的话来说:Hibernate是用于面向对象操控数据库,对JDBC进行轻量级封装.(在java世界中传统的来说是JDBC访问数据库.) 1)Hibernate定性:对象 ...

  7. c++对象池使用

    // // ObjectPool.h // DragonBall // // Created by user on 13-8-22. // // #include <iostream> # ...

  8. “.”(十六进制值 0x00)是无效的字符解决方案

    自从我们的项目数据层从读取数据库改为读取接口服务后,经常会出现一些类似于的错误.我们的数据结构如下所示 <type><![CDATA[gp]]></type> &l ...

  9. [deviceone开发]-do_Http组件示例

    一.简介 详细展示do_Http组件的使用,包括get,post,upload,form,download的http请求.另外还附加了一个Java实现的后台程序作为参考.初学者强烈推荐. 二.效果图 ...

  10. ArcGIS JS 学习笔记4 实现地图联动

    1.开篇 守望屁股实在太好玩了,所以最近有点懒,这次就先写个简单的来凑一下数.这次我的模仿目标是天地图的地图联动. 天地的地图联动不仅地图有联动,而且鼠标也有联动,我就照着这个目标进行山寨. 2.准备 ...