mongodb--游标与链式查找
一:游标 【能不用游标的地方就不要用游标,它是占用数据库资源的】
- find操作是返回一个游标,为了方便我们查看结果,mongodb shell会自动迭代结果。【游标也是递增的】
2.迭代结果的两种方式
《1》forEach
cursor.forEach(function(x){
... print(x.name);
... });
hxc41
hxc42
hxc43
《2》hasNext循环
var cursor = db.person.find();
while(cursor.hasNext()){
printjson(cursor.next())
});
《3》while加上next
> var cursor=db.person.find()
> while(cursor.hasNext()){ var single=cursor.next(); print(single.name) }
- 既然是游标(Cursor),那么就不会立即去查询数据库,这样的话,就有利于我们做【链式查找】。
《1》在find之后执行count。
《2》在find之后执行skip,limit,sort等等。
那么这些写法有点像C#中的linq to object, lambda
> db.person.find({}).limit(2).sort({"age":-1})
{ "_id" : ObjectId("56760f3c5001a3b4af6015b7"), "name" : "hxc99", "age" : 5.2105263157894735 }
{ "_id" : ObjectId("56760f3c5001a3b4af6015b6"), "name" : "hxc98", "age" : 5.157894736842105 }
> db.person.find({}).skip(2).limit(2).sort({"age":-1})
{ "_id" : ObjectId("56760f3c5001a3b4af6015b5"), "name" : "hxc97", "age" : 5.105263157894737 }
{ "_id" : ObjectId("56760f3c5001a3b4af6015b4"), "name" : "hxc96", "age" : 5.052631578947368 }
- sort方法参数描叙:【1:升序, -1:降序】 sql => asc,des c
- limit,skip 分页演示
pageIndex 表示页码
pageSize: 每页展示的数量
recordcount:总记录数
> db.person.find({}).skip((pageindex-1)*pageSize).limit(pageSize)
mongodb--游标与链式查找的更多相关文章
- [PTA] 数据结构与算法题目集 6-4 链式表的按序号查找 & 6-5 链式表操作集 & 6-6 带头结点的链式表操作集
带不带头结点的差别就是,在插入和删除操作中,不带头结点的链表需要考虑两种情况:1.插入(删除)在头结点.2.在其他位置. 6.4 //L是给定单链表,函数FindKth要返回链式表的第K个元素.如果该 ...
- C语言 线性表 双向链式结构 实现
一个双向链式结构实现的线性表 duList (GCC编译). /** * @brief 线性表双向链表结构 * @author wid * @date 2013-10-28 * * @note 若代码 ...
- C语言 线性表 链式表结构 实现
一个单链式实现的线性表 mList (GCC编译). /** * @brief 线性表的链式实现 (单链表) * @author wid * @date 2013-10-21 * * @note 若代 ...
- javascript实现数据结构:线性表--线性链表(链式存储结构)
上一节中, 线性表的顺序存储结构的特点是逻辑关系上相邻的两个元素在物理位置上也相邻,因此可以随机存取表中任一元素,它的存储位置可用一个简单,直观的公式来表示.然后,另一方面来看,这个特点也造成这种存储 ...
- JavaScript 链式结构序列化详解
一.概述 在JavaScript中,链式模式代码,太多太多,如下: if_else: if(...){ //TODO }else if(...){ //TODO }else{ //TODO } swi ...
- POJ 2002 Squares 解题报告(哈希 开放寻址 & 链式)
经典好题. 题意是要我们找出所有的正方形.1000点,只有枚举咯. 如图,如果我们知道了正方形A,B的坐标,便可以推测出C,D两点的坐标.反之,遍历所有点作为A,B点,看C,D点是否存在.存在的话正方 ...
- [置顶] ※数据结构※→☆线性表结构(queue)☆============优先队列 链式存储结构(queue priority list)(十二)
优先队列(priority queue) 普通的队列是一种先进先出的数据结构,元素在队列尾追加,而从队列头删除.在优先队列中,元素被赋予优先级.当访问元素时,具有最高优先级的元素最先删除.优先队列具有 ...
- C++编程练习(2)----“实现简单的线性表的链式存储结构“
单链表采用链式存储结构,用一组任意的存储单元存放线性表的元素. 对于查找操作,单链表的时间复杂度为O(n). 对于插入和删除操作,单链表在确定位置后,插入和删除时间仅为O(1). 单链表不需要分配存储 ...
- guoshiyv 数据结构与算法2-1 线性链式存储
线性链式存储: 包含两部分:1.存储的单个元素 2.指针,指向下一个的地址 typedef struct() { ElementType Data; struct Node *Next; }Lis ...
随机推荐
- class--类②
定义 C++ 对象 类提供了对象的蓝图,所以基本上,对象是根据类来创建的.声明类的对象,就像声明基本类型的变量一样.下面的语句声明了类 Box 的两个对象: Box Box1; // 声明 Box1, ...
- bzoj 1191 [ HNOI 2006 ] 超级英雄Hero —— 二分图匹配
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=1191 就是二分图匹配的裸题: 注意题目要求是第一次匹配失败就退出!没仔细看题差点丢失1A. ...
- 洛谷 P1081 开车旅行 —— 倍增
题目:https://www.luogu.org/problemnew/show/P1081 真是倍增好题! 预处理:f[i][j] 表示从 i 点开始走 2^j 次 AB (A,B各走一次)到达的点 ...
- 通过Ajax和SpringBoot交互的示例
转自:https://blog.csdn.net/oppo5630/article/details/52093898/
- SQL Server 置疑、可疑、正在恢复
一.出错情况 有些时候当你重启了数据库服务,会发现有些数据库变成了正在恢复.置疑.可疑等情况,这个时候DBA就会很紧张了,下面是一些在实践中得到证明的方法. 在一次重启数据库服务后,数据库显示正在恢复 ...
- 【SQL】字符型函数
1. ASCII ASCII(American Standard Code for Information Interchange,美国信息交换标准代码)是基于拉丁字母的一套电脑编码系统. 1) 返回 ...
- 能够附加图片的标签控件iOS项目源码
这个源码案例是能够附加图片的标签控件,源码JTImageLabel,JTImageLabel能够附加图片的标签Label控件,图片可以随意更换.位置也能够很好的控制.效果图: <ignore_j ...
- MatLab之Simulink之simple model
Use Simulink to model a system and then simulate the dynamic behavior of that system. 1 Open in Comm ...
- GraphicsMagick在centos环境的安装
一.需要安装包libpng-1.6.2rc02.tar.gz,libjpeg-6b.tar.gz,GraphicsMagick-1.3.18.tar.gz,GraphicsMagick-1.3.18最 ...
- dubbo之上下文信息
上下文信息 上下文中存放的是当前调用过程中所需的环境信息.所有配置信息都将转换为 URL 的参数,参见 schema 配置参考手册 中的对应URL参数一列. RpcContext 是一个 Thread ...