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 ...
随机推荐
- Go语言【第十二篇】:Go数据结构之:切片(Slice)、范围(Range)、集合(Map)
Go语言切片(Slice) Go语言切片是对数组的抽象,Go数组的长度不可改变,在特定场景中这样的集合就不太适用,Go中提供了一种灵活,功能强悍的内置类型切片("动态数组"),与数 ...
- datepicker约束开始时间和结束时间
datepicker约束开始时间和结束时间作用就是:选择要搜索的日期范围. <!DOCTYPE html> <html lang="en"> <hea ...
- BZOJ4821 SDOI2017相关分析(线段树)
纯粹的码农题.维护x的和.y的和.xy的和.x2的和即可.可能会炸long long. #include<iostream> #include<cstdio> #include ...
- [洛谷P4081][USACO17DEC]Standing Out from the Herd
题目大意:给你$n$个字符串,对每个字符串求出只在这个字符串中出现的字串的个数 题解:先建广义$SAM$,然后对每个点统计一下它的子树中是不是都是在同一个字符串中的,是的话,就把这个点标成这一个字符串 ...
- POI 2018.10.22
[POI2015]ODW 喵锟讲过.分块. N>=blo,那就暴力倍增往上跳.O(N/blo*logN) N<blo,预处理,f[i][j]表示,i往上跳,每次跳j步,到根节点为止,权值和 ...
- layui中对表格操作按钮集的判断
可用如下语法: {{# if(d.IsAudit==false){ }} <a class='layui-btn layui-btn-xs layui-btn-normal' lay-event ...
- 仅此一文让你明白ASP.NET MVC 之Model的呈现
本文目的 我们来看一个小例子,在一个ASP.NET MVC项目中创建一个控制器Home,只有一个Index: public class HomeController : Controller { pu ...
- 初学VS的目录结构
工程目录下各文件的含义 一般大部分的文章可能介绍到上面就算结束了,但我这还没有.创建工程产生的各个文件都你知道是什么用的吗? 如果你是一个初学者,你可能会不知道(老手请跳过本文).Ok,我就带你逐一了 ...
- Nginx 1 Web Server Implementation Cookbook系列--(1)debug mode
nginx debug模式 1.编译安装的话,需要添加编译参数--with-debug:大部分预编译软件包都已经包含了改参数. 2.格式: error_log LOGFILE [debug | inf ...
- POJ 1753 BFS
Flip Game Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 44450 Accepted: 19085 Descr ...