第一个参数决定要返回那些文档
db.test.find()返回所有文档
db.test.find({"age":27})
db.test.find({"username":"joe"})
db.test.find({"username":"joe","age":27})and的关系
第二参数指定想返回的键
db.test.find({},{"username":1,"email":1})   只会有username和emial和id
db.test.find({},{"_id":0,"username":1})   id被剔除
查询条件
“$lt”、"$lte"、"$gt"、"$gte"  < <= > >=
db.test.find({"age":{"$gte":18,"$lte":30}})   查询年龄在18-30的
“$ne" 不等于  
db.test.find({"username":{"$ne":"joe"}})
 
OR查询两种方式:$in :查询一个键的多个值 $or:在多个键中查询任意的给定值
db.raffle.find({"ticket_no":{"$in":[725,542,390]}})   查出所有中奖号码(725,542,390) 的全部号码
db.users.find({"user_id":{"$in":[12345,"joe"]})    
{ticket_no:{$in:[725]}}和{ticke_no:725}的效果一样的
 
$nin与in相反
 
 
$or 可以包含多个条件
 
db.raffle.find({"$or":[{"ticket_no":725},{"winner":true}]})
db.raffle,find({"$or":[{"ticket_no":{"$in":[725,542,390]}},{"winner":true}]})
 
$not 是元条件句,可以在任何其他条件之上   例:
db.users.find({"id_num":{"$mod":[5,1]}})   取5的余数是1的,1.6.11.16
db.users.find({"id_num":{"$not":{"$mod":[5,1]}}})  取没有匹配到的
 
 
条件语句是内层文档的键,而修改器则是外层文档的键
查询null语句
db.c.find({"z":{"$in":[null],"$exists":true}})
 
mongdb支持js的所有正则表达式
db.users.find({"name":/joe/i})
4.33查询数组
1、$all   既要有"apple"又有“banana”的文档
db.food.find({fruit:{$all:["apple"],"banana"}})
2、$size  指定长度的数组  
3、$slice 是find的第二个参数,指定需要返回的键,返回前10.返回后10返回10-20之间
db.blog.posts.findOne(criteria,{"comments":{"$slice":10}})
db.blog.posts.findOne(criteria,{"comments":{"$slice":-10}})
db.blog.posts.findOne(criteria,{"comments":{"$slice":[10-20 ]}})
db.blog.posts.findOne(criteria,{"comments":{"$slice":-1}})返回最后一条评论
 
4、返回一个匹配的数组元素
 
如果知道元素的小标用$       db.blog.posts.find({"coments.name":"bob"},{"comments.$":1})
 
5、数组和范围查询的相互作用
 
6.$where 可以使用任意的javascript
7.服务器端使用javascript脚本使用作用域
8.游标  
9.limit  限制返回数量
db.collection.find().limit(3)
10。skip和limit除去前三条剩下
11.sort 顺序
sort()接受一个参数,值代表排序的方向,-1降序1升序  
例如:一个分页搜索
db.stock.find({"desc":"mp3"}).limit(50).sort({"price":-1})
显示更多页
db.stock.find({"desc":"mp3"}).limit(50).skip(50).sort({"price":-1})
12比较顺序
最小值 null 数字 字符串 对象/文档 数组 二进制数据 对象id 布尔型 日期型 时间戳 正则表达式 最大值
 
13 高级查询选项
$maxscan $min $max $ showDiskLoc
14 获取一直结果

mongodb(4查询)的更多相关文章

  1. TODO:MongoDB的查询更新删除总结

    TODO:MongoDB的查询更新删除总结 常用查询,条件操作符查询,< .<=.>.>=.!= 对应 MongoDB的查询操作符是$lt.$lte.$gt.$gte.$ne ...

  2. MongoDB各种查询操作详解

    这篇文章主要介绍了MongoDB各种查询操作详解,包括比较查询.关联查询.数组查询等,需要的朋友可以参考下   一.find操作 MongoDB中使用find来进行查询,通过指定find的第一个参数可 ...

  3. Mongodb高级查询【二】

    上一篇文章,写了mongodb常规操作,继续写入,本章主要讲高级查询,文本,聚集,大数据查询. Mongodb的查询语法是很多的,是NOSQL队伍中比较丰富的一个.当然有很多查询跟关系型查询无法相比. ...

  4. mongoDB高级查询$type4array使用解析

    今天在使用mongoDB高级查询$type:符号 -- 4代指Array类型发现一个问题. $type符号: $type操作符是基于BSON类型来检索集合中匹配的数据类型,并返回结果. 下面是mong ...

  5. MongoDb 命令查询所有数据库列表

    原文:http://blog.csdn.net/huxu981598436/article/details/47216493 MongoDb 命令查询所有数据库列表 CODE: > show d ...

  6. mongodb并列查询,模糊查询

    在mongodb的查询语句中可以这么写{“a”:$gt(1),"a":$lt(5)} 但这么查询出来的值会做单个条件匹配,最终结果为a大于1的集合+a小于5的集合 如果需要实现去交 ...

  7. mongodb中查询返回指定字段

    mongodb中查询返回指定字段   在写vue项目调用接口获取数据的时候,比如新闻列表页我只需要显示新闻标题和发表时间,点击每条新闻进入详情页的时候才会需要摘要.新闻内容等关于此条新闻的所有字段.  ...

  8. MongoDB 数据类型查询 — $type使用

    MongoDB 使用过程中经常需要根据字段的类型来查询数据, 而MongoDB中查询字段类型是通过$type操作符来实现. $type使用法语: db.集合名.find({$type:类型值}); / ...

  9. mongoDB 高级查询语法

    http://www.cnblogs.com/ITAres/articles/2084794.html本文参考自官方的手册:http://www.mongodb.org/display/DOCS/Ad ...

  10. 转】Nodejs对MongoDB模糊查询

    原博文出自于: http://blog.fens.me/category/%E6%95%B0%E6%8D%AE%E5%BA%93/page/4/ 感谢! Posted: Jul 1, 2013 Tag ...

随机推荐

  1. [转]easyui data-options的使用

    原文地址:easyui data-options的使用 data-options是jQuery Easyui 最近两个版本才加上的一个特殊属性.通过这个属性,我们可以对easyui组件的实例化可以完全 ...

  2. 利用Hudson持续集成来执行Android自动化测试(转)

    当你套用Athrun.Robotium等框架,针对自己的项目写完了一堆自动化测试脚本后,在Eclipse之外怎么让它们可以持续性地跑起来并展现报告呢? 据我了解,方便的方法大致有两个:其一,利用Hud ...

  3. C语言 单引号 双引号问题

    C语言中的单引号和双引号含义迥异,用单引号引起的一个字符实际上代表一个整数,整数值对应于该字符在编译器采用的字符集中的序列值,因此,采用ASCII字符集的编译器而言,‘a’的含义与0141或97严格一 ...

  4. 浅谈html语义化标签,Html5新增语义化标签

    Html语义化标签,Html5新增语义化标签 自己在学习的期间,整理了下html关于语义化标签的一些知识,列的不是很全. 希望大家有新的见解可以给我留言,我会补充上去,谢谢大家 1.什么是语义化标签? ...

  5. 手机端 zepto tap事件穿透

    什么是事件穿透? 点击上面的一层时会触发下面一层的事件 ”google”说原因是“tap事件实际上是在冒泡到body上时才触发”,也就是Zepto的tap事件是绑定在document上的,所以会导致 ...

  6. 夺命雷公狗---2016-linux---1之ip的配置

    在linux下输入以下命令即可配置成功, 但是前提是linux下的这个ip地址的ip段是通过本地ping出来的才可以,如下所示: 然后查看下是否配置成功: 已经配置成功了,那么下一步我们可以ping下 ...

  7. VMware搭建 sql server2012集群加节点 KB953748

    --node4加入节点前 将共享磁盘挂载到node4,仅测试验证磁盘挂载,否则会导致整个集群磁盘offline切换 --node4 加入集群报错,无法访问计算机“node4” 0.public网卡勾选 ...

  8. 强制类型转换(const_cast)

    [1] const_cast的作用 一.常量指针被转化成非常量指针,并且仍然指向原来的对象: 二.常量引用被转换成非常量引用,并且仍然指向原来的对象: 三.常量对象被转换成非常量对象. [2] 实例代 ...

  9. alias function varibales in Linux/GNU and Mac alias命令细说

    细说,在古文言中是”奸细佞臣的话“,现如今成了”详细说明“的缩略. alias是MS-DOC中cmds中doskey的counterpart,是”别名“或者”化名“的意思 alias强大之处在于可以化 ...

  10. Java的深度克隆和浅度克隆

    说到克隆,其实是个比较简单的概念,跟现实生活正的克隆一样,复制一个一模一样的对象出来.clone()这个方法是从Object继承下来的,一个对象要实现克隆,需要实现一个叫做Cloneable的接口,这 ...