MongoDB学习笔记03
限制结果的返回数量可以使用limit、skip
sort用一个对象作为参数:一组键/值对,键对应文档的键名,值代表排序的方向(1:升序,-1:降序);如果指定了多个键,则按照多个键的顺序诸个排序。
MongoDB处理不同类型的数据有一个顺序的,有时候一个键的值可能是多种类型的,对于这种混合类型的键排序,其排序是预先定义好的,从小到大,顺序如下:

用skip略过少量的文档还是可以的,但要是数量非常多的话,skip就会变得很慢(可以通过向文档本身内置查询条件,来避免过大的skip,或者利用上次的结果来计算下一次查询)
查询分为包装的和普通的两类。包装的查询是将查询包装在一个更大的文档中
当查询出一个文档,并对文档进行处理,在将其保存回数据库时,如果文档体积增加而预留空间不足,则需要将其移动,通常会将其挪至集合的末尾处,如此往复,结果返回了已经被挪动的文档。解决这个问题就是对查询进行快照,如果使用了"$snapshot"选项,查询就是针对不变的集合视图运行的。所有返回一组结果的查询实际上都进行了快照。
游标消耗内存和其它资源,游标遍历尽了结果以后或者客户单发来消息要求终止,数据库将会释放这些资源,释放的资源可以被数据库换做他用。当游标完成匹配结果的迭代时,它会清除自身,另外当游标在客户端已经不在作用域内了,驱动会发送专门的消息,让其销毁游标,即便用户没有迭代完所有结果,并且游标也还在作用域中,10分钟不使用,数据库游标也会自动销毁,如果希望游标持续的时间长一些,多数驱动会实现一个叫immortal的函数或类似的机制,来告知数据库不要让游标超时,这种情况要在迭代完结果后将其关闭,否则它会一直在数据库中消耗服务器资源。
MongoDB学习笔记03的更多相关文章
- MongoDB学习笔记—03 增删改查操作
MongoDB的CURD操作分别通过函数insert().update().find().remove()进行 MongoDB文档新增与删除 MongoDB中关于文档的新增与删除比较简单.主要通过in ...
- mongoDB 学习笔记纯干货(mongoose、增删改查、聚合、索引、连接、备份与恢复、监控等等)
最后更新时间:2017-07-13 11:10:49 原始文章链接:http://www.lovebxm.com/2017/07/13/mongodb_primer/ MongoDB - 简介 官网: ...
- MongoDB学习笔记系列
回到占占推荐博客索引 该来的总会来的,Ef,Redis,MVC甚至Sqlserver都有了自己的系列,MongoDB没有理由不去整理一下,这个系列都是平时在项目开发时总结出来的,希望可以为各位一些帮助 ...
- PHP操作MongoDB学习笔记
<?php/*** PHP操作MongoDB学习笔记*///*************************//** 连接MongoDB数据库 **////*************** ...
- MongoDB 学习笔记(原创)
MongoDB 学习笔记 mongodb 数据库 nosql 一.数据库的基本概念及操作 SQL术语/概念 MongoDB术语/概念 解释/说明 database database 数据库 table ...
- MongoDB学习笔记(转)
MongoDB学习笔记(一) MongoDB介绍及安装MongoDB学习笔记(二) 通过samus驱动实现基本数据操作MongoDB学习笔记(三) 在MVC模式下通过Jqgrid表格操作MongoDB ...
- 机器学习实战(Machine Learning in Action)学习笔记————03.决策树原理、源码解析及测试
机器学习实战(Machine Learning in Action)学习笔记————03.决策树原理.源码解析及测试 关键字:决策树.python.源码解析.测试作者:米仓山下时间:2018-10-2 ...
- OpenCV 学习笔记03 边界框、最小矩形区域和最小闭圆的轮廓
本节代码使用的opencv-python 4.0.1,numpy 1.15.4 + mkl 使用图片为 Mjolnir_Round_Car_Magnet_300x300.jpg 代码如下: impor ...
- OpenCV 学习笔记03 findContours函数
opencv-python 4.0.1 1 函数释义 词义:发现轮廓! 从二进制图像中查找轮廓(Finds contours in a binary image):轮廓是形状分析和物体检测和识别的 ...
随机推荐
- asp.net 如何改变GridView搜索出来关键字的颜色?就像百度似的,我获得的是一个集合,改变集合中关键字的集合
输入“产量”查询,将“产量”拆分,产.量 string strColNameCnDt = string.Empty; for (int j = 0; j < dtTemp. ...
- 跳转UICollectionViewController报Could not load NIB in bundle解决办法
报错代码如下:'Could not load NIB in bundle: 'NSBundle </Users/mac/Library/Developer/CoreSimulator/Devic ...
- js中完数的输出
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...
- 在windows中搭建php开发环境
一.wampserver wampserver是一个安装集成包,包含了开发所需的apache,mysql,php,简单方便. 下载地址 http://www.xiazaiba.com/html/279 ...
- mysql函数date_format统计刷选按年月日统计的数据
/*原型*/ SELECT count(did) AS sum, date_format(releasetime, '%Y-%m-%d') AS releasetime FROM hengtu_dem ...
- windows server 2008 设置多用户同时远程登录
>Windows server 2008默认只支持一个administrator用户登陆,一个登录后另一个就被踢掉了,有没有办法像Windows Server 2003那样允许多用户用同时同一个 ...
- 关于Django模板渲染一个很重要的用途
一般情况下我们在模板利用django的for标签循环生成html代码时,可以同时生成形如: "{% url 'dormitory:hygiene_detail' pk={{ id }} %} ...
- Servlet接收JSP参数乱码问题解决办法
转自:http://lavasoft.blog.51cto.com/62575/274527/ 环境: apache-tomcat-6.0.24.zip jdk1.6.0_16 WindosXP ...
- 树莓派 wheezy安装与远程登录配置
一.准备工作 1:wheezy系统镜像 2:Win32DiskImager-0.9.5-install 3:SDFormatter 4:SD卡 我用的是8G 二.安装系统 流程:SDFormatter ...
- Powershell --在线学习
介绍和安装 自定义控制台 快速编辑模式和标准模式 快捷键 管道和重定向 Powershell交互式 数学运算 执行外部命令 命令集 别名 通过函数扩展别名 执行文件和脚本 Powershell变量 定 ...