一:游标 【能不用游标的地方就不要用游标,它是占用数据库资源的】

  1. 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) }
  1. 既然是游标(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 }
  1. sort方法参数描叙:【1:升序, -1:降序】 sql => asc,des c
  2. limit,skip 分页演示

    pageIndex 表示页码

    pageSize: 每页展示的数量

    recordcount:总记录数
> db.person.find({}).skip((pageindex-1)*pageSize).limit(pageSize)

mongodb--游标与链式查找的更多相关文章

  1. [PTA] 数据结构与算法题目集 6-4 链式表的按序号查找 & 6-5 链式表操作集 & 6-6 带头结点的链式表操作集

    带不带头结点的差别就是,在插入和删除操作中,不带头结点的链表需要考虑两种情况:1.插入(删除)在头结点.2.在其他位置. 6.4 //L是给定单链表,函数FindKth要返回链式表的第K个元素.如果该 ...

  2. C语言 线性表 双向链式结构 实现

    一个双向链式结构实现的线性表 duList (GCC编译). /** * @brief 线性表双向链表结构 * @author wid * @date 2013-10-28 * * @note 若代码 ...

  3. C语言 线性表 链式表结构 实现

    一个单链式实现的线性表 mList (GCC编译). /** * @brief 线性表的链式实现 (单链表) * @author wid * @date 2013-10-21 * * @note 若代 ...

  4. javascript实现数据结构:线性表--线性链表(链式存储结构)

    上一节中, 线性表的顺序存储结构的特点是逻辑关系上相邻的两个元素在物理位置上也相邻,因此可以随机存取表中任一元素,它的存储位置可用一个简单,直观的公式来表示.然后,另一方面来看,这个特点也造成这种存储 ...

  5. JavaScript 链式结构序列化详解

    一.概述 在JavaScript中,链式模式代码,太多太多,如下: if_else: if(...){ //TODO }else if(...){ //TODO }else{ //TODO } swi ...

  6. POJ 2002 Squares 解题报告(哈希 开放寻址 & 链式)

    经典好题. 题意是要我们找出所有的正方形.1000点,只有枚举咯. 如图,如果我们知道了正方形A,B的坐标,便可以推测出C,D两点的坐标.反之,遍历所有点作为A,B点,看C,D点是否存在.存在的话正方 ...

  7. [置顶] ※数据结构※→☆线性表结构(queue)☆============优先队列 链式存储结构(queue priority list)(十二)

    优先队列(priority queue) 普通的队列是一种先进先出的数据结构,元素在队列尾追加,而从队列头删除.在优先队列中,元素被赋予优先级.当访问元素时,具有最高优先级的元素最先删除.优先队列具有 ...

  8. C++编程练习(2)----“实现简单的线性表的链式存储结构“

    单链表采用链式存储结构,用一组任意的存储单元存放线性表的元素. 对于查找操作,单链表的时间复杂度为O(n). 对于插入和删除操作,单链表在确定位置后,插入和删除时间仅为O(1). 单链表不需要分配存储 ...

  9. guoshiyv 数据结构与算法2-1 线性链式存储

    线性链式存储:   包含两部分:1.存储的单个元素 2.指针,指向下一个的地址 typedef struct() { ElementType Data; struct Node *Next; }Lis ...

随机推荐

  1. How to use shared model by git in sql source control of red gate

    1.clone the git repository for datbase 2.open sql source control window and select the target databa ...

  2. tflearn mnist 使用MLP 全连接网络一般都会加dropout哇

    # -*- coding: utf-8 -*- """ Deep Neural Network for MNIST dataset classification task ...

  3. ES transport client使用

    ES transport client bulk insert 传输(transport)客户端 TransportClient利用transport模块远程连接一个elasticsearch集群.它 ...

  4. [SpringMVC]定义多个前缀映射的问题

    转自:https://penciltim.iteye.com/blog/501073 我在web.xml里面定义多个dispatch-servlet的前缀映射,像下面这样 <!-- Servle ...

  5. springCloud多模块打包时报错问题

    执行mvn clean package spring-boot:repackage,报错如下: [ERROR] Failed to execute goal org.springframework.b ...

  6. C# 获取当月有多少天

    int days = DateTime.DaysInMonth ( 2009, 9 ); int days = DateTime.DaysInMonth ( DateTime.Now.Year, Da ...

  7. DotNetCasClient加载失败问题分析

    最近公司在接入整理单点登录方案的时候,选择了CAS方案,实际版本采用了4.0.当我们把服务端附属完毕,基于.NET平台Web版的客户端DotNetCasClient进行定制化修改后,在测试环境通过.然 ...

  8. 2-bitmap

    在2.5亿个整数中找出不重复的整数,注,内存不足以容纳这2.5亿个整数. 思路: bitmap用一个bit来代表存在还是不存在,现在我们要判断重不重复,则需要三个状态:不存在,存在一个,存在多个.2b ...

  9. vs2008bin下Debug bll Release文件 obj下的Debug bll Release文件区别

    Bin目录用来存放编译的结果,bin是二进制binrary的英文缩写,因为最初C编译的程序文件都是二进制文件,它有Debug和Release两个版本,分别对应的文件夹为bin/Debug和bin/Re ...

  10. Windows7环境下Composer 安装包的Cache目录位置

    http://segmentfault.com/a/1190000000355928 https://getcomposer.org/doc/ 要说Composer的用法,以后再说,现在只记录wind ...