mongodb 学习笔记 3 --- 查询
在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 --- 查询的更多相关文章
- MongoDB学习笔记六—查询下
查询内嵌文档 数据准备 > db.blog.find().pretty() { "_id" : ObjectId("585694e4c5b0525a48a441b5 ...
- MongoDB学习笔记五—查询上
数据准备 { , "goods_name" : "KD876", "createTime" : ISODate("2016-12- ...
- MongoDB 学习笔记之 查询表达式
查询表达式: db.stu.find().count() db.stu.find({name: 'Sky'}) db.stu.find({age: {$ne: 20}},{name: 1, age: ...
- 【转】MongoDB学习笔记(查询)
原文地址 MongoDB学习笔记(查询) 基本查询: 构造查询数据. > db.test.findOne() { "_id" : ObjectId("4fd58ec ...
- MongoDB学习笔记系列
回到占占推荐博客索引 该来的总会来的,Ef,Redis,MVC甚至Sqlserver都有了自己的系列,MongoDB没有理由不去整理一下,这个系列都是平时在项目开发时总结出来的,希望可以为各位一些帮助 ...
- PHP操作MongoDB学习笔记
<?php/*** PHP操作MongoDB学习笔记*///*************************//** 连接MongoDB数据库 **////*************** ...
- MongoDB 学习笔记(原创)
MongoDB 学习笔记 mongodb 数据库 nosql 一.数据库的基本概念及操作 SQL术语/概念 MongoDB术语/概念 解释/说明 database database 数据库 table ...
- mongoDB 学习笔记纯干货(mongoose、增删改查、聚合、索引、连接、备份与恢复、监控等等)
最后更新时间:2017-07-13 11:10:49 原始文章链接:http://www.lovebxm.com/2017/07/13/mongodb_primer/ MongoDB - 简介 官网: ...
- MongoDB学习笔记(六)--复制集+sharding分片 && 总结
复制集+sharding分片 背景 主机 IP 服务及端口 Server A ...
随机推荐
- 使用getRequestDispatcher跳转后 能获取到request.setAttribute数据 分析
- hadoop MapReduce辅助排序解析
1.数据样本,w1.csv到w5.csv,每个文件数据样本2000条,第一列是年份从1990到2000随机,第二列数据从1-100随机,本例辅助排序目标是找出每年最大值,实际上结果每年最大就是100, ...
- [洛谷P3979]遥远的国度
题目大意:有一棵$n$个点的树,每个点有一个点权,有三种操作: $1\;x:$把根变成$x$ $2\;u\;v\;x:$把路径$u->v$上的点权改为$x$ $3\;x:$询问以$x$为根的子树 ...
- SPOJ694/DISUBSTR:Distinct Substrings——题解
https://vjudge.net/problem/SPOJ-DISUBSTR https://www.luogu.org/problemnew/show/SP694 http://www.spoj ...
- pandas模块(数据分析)------Series
pandas是一个强大的Python数据分析的工具包. pandas是基于NumPy构建的. pandas的主要功能: 具备对其功能的数据结构DataFrame.Series 集成时间序列功能 提供丰 ...
- [zhuan]VMware中bridge方式网络不能上网的解决办法
http://jingpin.jikexueyuan.com/article/31601.html 安装好VMware 7后,打开原来的虚拟机文件,发现不能上网,原来的Ethernet是设置的Brid ...
- jenkins实现maven项目自动化部署tomcat
最近公司有用到jenkins实现自动化部署,这里我对新的东西也是比较感兴趣,就用了点时间尝试了一下,虽然网上有很多这种例子,但是可能有些细节我也走了一些弯路.在这里记录一下,方便下次用到. 实现环境: ...
- [实战篇入门]02-POI简单创建Excel
周日的小讲堂要讲到这里,趁中午时间写点东西,记录昨天晚上完成的东西,在这里只是简单的介绍如何创建对于样式问题,我不过多的说,因为之后的教程会使用模版方式搞定! 在学习这段代码的时候,希望各位访问Apa ...
- 8.IO模型
一.事件驱动模型 服务器处理模型程序,通常有以下几种: (1)收到一个请求则创建一个新的进程来处理这个请求 (2)收到一个请求则创建一个新的线程来处理这个请求 (3)收到一个请求,把它放入事件列表,让 ...
- UVA 580 Critical Mass
https://vjudge.net/problem/UVA-580 题意:一堆U和L,用n个排成一排,问至少有3个U放在一起的方案数 f[i] 表示 至少有3个U放在一起的方案数 g[i] 表示没有 ...