第一个参数决定要返回那些文档
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. Python高频技巧总结[基础篇]

    0. 概要说明 python应用最多的场景还是web快速开发.爬虫.自动化运维:简单网站.自动Fuzz脚本.收发邮件脚本.简单验证码识别脚本. 爬虫在开发过程中也有很多复用的过程,这里总结一下,以后也 ...

  2. Redis和Memcache对比及选择

    没有必要过多的关注性能.由于Redis只使用单核,而Memcached可以使用多核, 所以在比较上,平均每一个核上Redis在存储小数据时比Memcached性能更高.而在100k以上的数据中,Mem ...

  3. struts2中Double类型的转换

    今天做项目,ssh + Extjs,页面js中定义了几个NumberField,对应的value都是double类型的,其中有个NumberField的name为 name,结果执行的时候报错了,说找 ...

  4. paper 35 :交叉验证(CrossValidation)方法思想

    交叉验证(CrossValidation)方法思想简介 以下简称交叉验证(Cross Validation)为CV.CV是用来验证分类器的性能一种统计分析方法,基本思想是把在某种意义下将原始数据(da ...

  5. mysql设置时区方法

    set global time_zone = '+2:00'; ##修改mysql全局时区 set time_zone = '+2:00'; ##修改当前会话时区 flush privileges; ...

  6. clock gating and PLL

    一个gating的clock是指:clock network除了包含inverter和buffer外,还有其他logic. PrimeTime会自动的对gating input进行setup和hold ...

  7. zw版【转发·台湾nvp系列Delphi例程】HALCON HWindowX 01

    zw版[转发·台湾nvp系列Delphi例程]HALCON HWindowX 01 procedure TForm1.Button1Click(Sender: TObject);var img : H ...

  8. Win7旗舰版中的IIS配置asp.net的运行环境

    Win7旗舰版中的IIS配置asp.net的运行环境   以前弄过好多次,都没有成功,昨天晚上不知怎么地就成功了,借用我同学的一句话,这叫“灵光一闪”,废话不多说了,这个成功是有图有视频有真相地哈! ...

  9. WebSocket简单介绍

    Java后端WebSocket的Tomcat实现 一.WebSocket简单介绍 随着互联网的发展,传统的HTTP协议已经很难满足Web应用日益复杂的需求了.近年来,随着HTML5的诞生,WebSoc ...

  10. Openstack的nova-network的vlan模式扩展2

    接上一篇,上一篇我们使用的是nova-manage命令来创建的网络,这里就有一些知识需要了解 遇到的问题 控制节点的前面的BUG已经按官方解决BUG方式解决了,但是在开发dashboard,使用nov ...