`
shibin_1109
  • 浏览: 76267 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

mongodb条件查询

阅读更多
"$lt"-----------------------"<"
"$lte"----------------------"<="
"$gt"-----------------------">"
"$gte"----------------------">="
"$ne"-----------------------"!="


示例:{"x":{"$gt":10,"$lte":30}}

从某集合B中查找日期属性day值大于2012/01/01的文档数据,写法如下:
{"day":{"$gt":new Date("2012/01/01")}}

$in:查询匹配指定条件值的文档;
$nin:查询不匹配指定条件值的文档;

示例:{"x":{"$in":['值1','值2',.....]}}
示例:{"x":{"$nin":['值1','值2',.....]}}

$or:查询匹配多个条件多个值的文档;

示例:{"$or":[{"x":{"$in":['值1','值2'...]}},{"y":"3"}]}

$all匹配所有
示例:{"age":{"$all":[2,3]}})
结果:{"name":jack,"age":[1,2,3]}

$exists 判断文档属性是否存在
示例:{"name":{"$exists":true}}   --查找属性name存在的文档
     {"name":{"$exists":false}}  --查找属性name不存在的文档

$not元条件句

可与其他条件配合使用,即不在匹配范围之内的文档

$mod取模运算
{"age":{"$mod":[5,1]}} --表示查找年龄/5余1的所有文档

{"age":{"$not":{"$mod":[5,1]}}} --查找年龄/5余1之外的所有文档

$size 保留一个数组中的长度
{ "_id" : ObjectId("501e71557d4bd700257d8a41"), "a" : "1", "b" : [ 1, 2, 3 ] }
> db.C.find({"b":{"$size":2}})
{ "_id" : ObjectId("501e71607d4bd700257d8a42"), "a" : "1", "b" : [ 1, 2 ] }

$slice
返回数组的一个子集,即对以某属性为基础,返回多少条(范围)。也可以接受偏移值和要返回的元素数量,来返回中间的结果。
> db.C.find()
{ "_id" : ObjectId("501e71557d4bd700257d8a41"), "a" : "1", "b" : [ 1, 2, 3 ] }
{ "_id" : ObjectId("501e71607d4bd700257d8a42"), "a" : "1", "b" : [ 1, 2 ] }
> db.C.findOne({},{"b":{"$slice":[2,3]}})
{ "_id" : ObjectId("501e71557d4bd700257d8a41"), "a" : "1", "b" : [ 3 ] }
> db.C.findOne({},{"b":{"$slice":-2}})
{
        "_id" : ObjectId("501e71557d4bd700257d8a41"),
        "a" : "1",
        "b" : [
                2,
                3
        ]
}

db.test.find({name:/^joe/i})   ^匹配以joe开头的,而且不区分大小写
{ name : /陈.*/i }
$where

即可执行任务javascript作为查询的一部分。
$where的值可以是function、也可以是字符串等等。

db.C.find({"$where":function(){return this.a == "1"}})与db.C.find({"$where":"this.a == '1'"}})

db.C.find().limit(10)  --限制查询的结果条数为10条
db.C.find().skip(10)   --忽略匹配的前10条,显示从第11条匹配的文档开始所有的文档
db.C.find().sort({"a":-1})  --sort以键/值,表示按某个属性进行排序,1:升序,-1:降序


spirng-data-mongodb模糊查询
(new Query(new Criteria(      "name").regex(".*?"+"张"+".*")).limit(9), User.class); 

高级查询选项:
$maxscan:integer  --指定查询最多扫描的文档数量
$min:document     --查询的开始条件
$max:document     --查询的结束条件
$hint:document    --指定服务器使用哪个索引进行查询
$explain:boolean  --获取查询执行的细节(用到的索引、结果数量、耗时等),而并非真正执行查询
$snapshot:boolean --确保查询的结果是在查询执行那一刻的一致快照
分享到:
评论

相关推荐

    Thinkphp使用mongodb数据库实现多条件查询方法

    主要介绍了Thinkphp使用mongodb数据库实现多条件查询方法,修改了mongodb驱动文件来实现复合查询、多条件查询,需要的朋友可以参考下

    MongoDB笔记.docx

    7、MongoDB模糊查询和其他条件查询 12 五、Mongoose(node使用)(前提安装好node环境有node基础) 13 1、连接 13 2、创建模式结构(Schema)定义约束了数据库中的文档结构 14 3、通过Schema来创建Model相当于mongoDB...

    生成mongodb日期范围查询条件

    生成mongodb日期范围查询条件

    .Net Core如何对MongoDB执行多条件查询

    主要介绍了.Net Core如何对MongoDB执行多条件查询,文中示例代码非常详细,帮助大家更好的理解和学习,感兴趣的朋友可以了解下

    浅谈java实现mongoDB的多条件查询

    主要介绍了java实现mongoDB的多条件查询,具有一定参考价值,需要的朋友可以参考下。

    Spring Boot中使用MongoDB数据库的方法

    MongoDB是一个高性能,开源,无模式的,基于分布式文件存储的文档型数据库,由C++语言编写,其名称来源取自“humongous”,是一种开源的文档数据库──NoSql数据库的一种。这篇文章主要介绍了Spring Boot中使用...

    MongoDB多条件模糊查询示例代码

    主要给大家介绍了关于MongoDB多条件模糊查询的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用MongoDB具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧

    C#,asp.net操作mongodb实例,新增,修改,查询,分页查询,删除,基类封装,打开直接运行

    C#,asp.net操作mongodb实例,封装【新增,修改,查询,分页查询,删除,批量更新,批量删除,条件查找等】内有一个实体类,操作数据库封装类,日志类,web页面,vs打开直接运行

    .net 中使用MongoDB.Driver 多条件动态拼接查询

    using MongoDB.Bson; using MongoDB.Driver; 按指定用户名,指定日期查询数据 string username=lee;//定义用户名 string[] Dates = new string[] { 2020-03-05, 2020-03-02,2020-03-06};//定义时间段,数量不限 List...

    MongoDB企业级分片集群搭建视频.zip

    4 MongoDB集合的多种查询条件.mp4 5 MongoDB索引查询与建立.mp4 6 MongoDB数据库的监控命令.mp4 7 MongoDB副本集的搭建.mp4 8 MongoDB副本集故障自动切换.mp4 9 MongoDB副本集各实例的优先级设置.mp4 10 MongoDB副本...

    MongoDB查询之高级操作详解(多条件查询、正则匹配查询等)

    MongoDB查询之高级操作 语法介绍 MongoDB查询文档使用find()方法,同时find()方法以非结构化的方式来显示所有查询到的文档。 -- 1.基本语法 db.collection.find(query, projection) -- 返回所有符合查询条件的文档 ...

    MongoDB权威指南.pdf

    书中介绍了面向文档的存储方式及利用MongoDB的无模式数据模型处理文档、集合和多个数据库,讲述了如何执行基本的写操作以及如何执行各种复杂的条件查询,还介绍了索引、聚合工具以及其他高级查询技术,另外对监控、...

    MongoDB 覆盖索引查询

    MongoDB 无需在整个数据文档中检索匹配查询条件和返回使用相同索引的查询结果。 因为索引存在于RAM中,从索引中获取数据比通过扫描文档读取数据要快得多。 使用覆盖索引查询 为了测试覆盖索引查询,使用以下 ...

    MongoDB各种查询操作详解

    MongoDB中使用find来进行查询,通过指定find的第一个参数可以实现全部和部分查询。 1、查询全部 空的查询文档{}会匹配集合的全部内容。如果不指定查询文档,默认就是{}。 2、部分查询 3、键的筛选 键的筛选是查询...

    JAVA代码实现MongoDB动态条件之分页查询

    主要介绍了JAVA如何实现MongoDB动态条件之分页查询,文中讲解非常细致,代码帮助大家更好的理解和学习,感兴趣的朋友可以了解下

    在php7中MongoDB实现模糊查询的方法详解

    MongoDB模糊查询语句相信对大家来说都不陌生,这篇文章主要给大家介绍了在php 7中MongoDB实现模糊查询的方法,文中给出了详细的介绍和示例代码,对大家具有一定的参考学习价值,需要的朋友一起来看看吧。

    Redis/MongoDB 接口封装(C++)

    3. 利用组合模式和装饰模式的思想开发 MongoDB 数据库查询条件装饰器 将查询条件和数据库 MongodbModule 数据模型进行解耦合 4. 抽象出一套 MongoDB Module 结果集接口 通过模板和特化技术实现 string/int 等不同...

    MangoDB相关

    mongodb权威指南_wrapper.pdf,java mongodb条件查询.doc,Java操作MongoDB入门.docx,mongodb.docx,MangoDB的应用.docx

    MongoDB_文档_查询

    查询文档2.MongoDB 与 RDBMS Where 语句比较3.MongoDB AND 条件4.MongoDB OR 条件5.AND 和 OR 联合使用 1.查询文档 语法 MongoDB 查询数据的语法格式如下: db.collection.find(query, projection) query :可选,...

Global site tag (gtag.js) - Google Analytics