在mongodb的查询中可以通过使用如下操作符进行深度查询

1.条件操作符

$gt  $gte : >  >=   {"age":{"$gt":18}}

$lt   $lte:   <  <=

$or : 或  {"$or":[{"name":"jack"},{"name":"mike"}]}

$in/$nin : 在集合中/不在集合中  {"age":{"$in":[18,20]}}

$and: 且 用法同$or

$not:  非  {"name":{"$not":"jack"}}

$mod: 取模   {"age":{"$mod":[5,1]}}   选出除以5余数得1的结果

$exists:  查询时附加该键值是否存在   {"name":{"$exists":true}}

$all: 查询的集合包含条件中全部的内容,但是是无序的  {"name":{"$all":["jack","mike"]}}  中招的可能是 name:["mike","jack","mary"]   ,也有 name:["miky","mike","jack"]

$size: 查询出限定属性下长度值为给出的size的数组  {"list":{"$size":2}}

$slice: 取值正负数字,返回多少条文档  {"list":{"$slice":2}}

$elemMatch : 在查询数组时限定取值条件  {"list":{"$elemMatch":{"$gt":10,"$lt":20}}}   如果不加 $elemMatch 则会匹配到 list:[5,25]  因为5<20  25>10  只能应用在数组类型的属性中

$where :  会执行一段js {"$where":function(){return ...}}

除了操作符之外,还有游标操作辅助查询

2.游标操作

next: 遍历游标,并将其取出游标,在shell中执行一次后默认后面全部执行,最终会导致游标结果集为空

hasNext: 检查游标是否为空

forEach: 遍历,和js数组中的forEach功效一致

limit: 取返回结果的前n个,不足n个全部返回

skip: 跳过返回结果的前n个

sort: 根据返回结果中的某一字段进行排序 1 升序  -1 降序

一些总结

要避免使用skip跳过大量数据

mongodb 学习笔记 3 --- 查询的更多相关文章

  1. MongoDB学习笔记六—查询下

    查询内嵌文档 数据准备 > db.blog.find().pretty() { "_id" : ObjectId("585694e4c5b0525a48a441b5 ...

  2. MongoDB学习笔记五—查询上

    数据准备 { , "goods_name" : "KD876", "createTime" : ISODate("2016-12- ...

  3. MongoDB 学习笔记之 查询表达式

    查询表达式: db.stu.find().count() db.stu.find({name: 'Sky'}) db.stu.find({age: {$ne: 20}},{name: 1, age: ...

  4. 【转】MongoDB学习笔记(查询)

    原文地址 MongoDB学习笔记(查询) 基本查询: 构造查询数据. > db.test.findOne() { "_id" : ObjectId("4fd58ec ...

  5. MongoDB学习笔记系列

    回到占占推荐博客索引 该来的总会来的,Ef,Redis,MVC甚至Sqlserver都有了自己的系列,MongoDB没有理由不去整理一下,这个系列都是平时在项目开发时总结出来的,希望可以为各位一些帮助 ...

  6. PHP操作MongoDB学习笔记

    <?php/*** PHP操作MongoDB学习笔记*///*************************//**   连接MongoDB数据库  **////*************** ...

  7. MongoDB 学习笔记(原创)

    MongoDB 学习笔记 mongodb 数据库 nosql 一.数据库的基本概念及操作 SQL术语/概念 MongoDB术语/概念 解释/说明 database database 数据库 table ...

  8. mongoDB 学习笔记纯干货(mongoose、增删改查、聚合、索引、连接、备份与恢复、监控等等)

    最后更新时间:2017-07-13 11:10:49 原始文章链接:http://www.lovebxm.com/2017/07/13/mongodb_primer/ MongoDB - 简介 官网: ...

  9. MongoDB学习笔记(六)--复制集+sharding分片 && 总结

    复制集+sharding分片                                                               背景 主机 IP 服务及端口 Server A ...

随机推荐

  1. 【bzoj4229】选择 离线+LCT

    题目描述 现在,我想知道自己是否还有选择. 给定n个点m条边的无向图以及顺序发生的q个事件. 每个事件都属于下面两种之一: 1.删除某一条图上仍存在的边 2.询问是否存在两条边不相交的路径可以从点u出 ...

  2. P4316 绿豆蛙的归宿

    题意翻译 「Poetize3」 题目背景 随着新版百度空间的上线,Blog宠物绿豆蛙完成了它的使命,去寻找它新的归宿. 题目描述 给出一个有向无环图,起点为1终点为N,每条边都有一个长度,并且从起点出 ...

  3. Springboot2.x+shiro+redis(Lettuce)整合填坑

    主要记录关键和有坑的地方 前提: 1.SpringBoot+shiro已经集成完毕,如果没有集成,先查阅之前的Springboot2.0 集成shiro权限管理 2.redis已经安装完成 3.red ...

  4. powerdesigner 点击preview 语句出现 if exists

    drop table if exists XXX 这个是sql server 写法.如果要切换为 Oracle 写法 菜单栏: database-->change curren DBMS 选择你 ...

  5. 【POJ2976】Dropping Tests(分数规划)

    [POJ2976]Dropping Tests(分数规划) 题面 Vjudge 翻译在\(Vjudge\)上有(而且很皮) 题解 简单的\(01\)分数规划 需要我们做的是最大化\(\frac{\su ...

  6. POJ3621:Sightseeing Cows——题解

    http://poj.org/problem?id=3621 全文翻译参自洛谷:https://www.luogu.org/problemnew/show/P2868 题目大意:一个有向图,每个点都有 ...

  7. call和apply第一个参数为null/undefined,函数this指向全局对象

    call和apply第一个参数为null/undefined,函数this指向全局对象,在浏览器中是window,在node中是global 在严格模式中(ie 6/7/8/9 除外),传入null/ ...

  8. bzoj2761: [JLOI2011]不重复数字(hash)

    题目大意:给出N个数,要求把其中重复的去掉,只保留第一次出现的数.例如,给出的数为1 2 18 3 3 19 2 3 6 5 4,其中2和3有重复,去除后的结果为1 2 18 3 19 6 5 4. ...

  9. BZOJ1999 NOIP2007 洛谷P1099 P2491 SDOI 2011

    Description: 设T=(V, E, W) 是一个无圈且连通的无向图(也称为无根树),每条边到有正整数的权,我们称T为树网(treebetwork),其中V,E分别表示结点与边的集合,W表示各 ...

  10. bzoj 3289 Mato的文件管理 树状数组+莫队

    Mato的文件管理 Time Limit: 40 Sec  Memory Limit: 128 MBSubmit: 4325  Solved: 1757[Submit][Status][Discuss ...