3.5 游标(重点)

所谓游标就是指数据可以一行行的进行操作,非常类似于ResultSet数据处理。在MongoDB里对游标的控制使用find()函数就可以返回游标。对于返回的游标如果想进行操作,使用两个函数:

  • 判断是否有下一行数据:hasNext()
  • 取出当前数据:next()

var cursor = db.students.find()  //db.students.find()返回students集合中数据

cursor.hasNext()

cursor.next()

以上是游标的操作形式,但是实际上不可能这么去用,因为必须利用循环才能输出内容。

范例:编写具体的操作代码

var cursor = db.students.find()

while (cursor.hasNext()){

  cursor.next()

}

用cursor.next()并不能循环输出全部信息,只能输出最后一条。

var cursor = db.students.find()

while (cursor.hasNext()){

  var doc = cursor.next()

  print(doc.name)

}

用print()能循环输出全部信息。

var cursor = db.students.find()

while (cursor.hasNext()){

  var doc = cursor.next()

  print(doc)

}

当游标数据取出来之后,实际上每行数据返回的都是一个Object型的内容,那么如果需要将数据按照json的形式出现,则可以使用printjson()函数完成。

var cursor = db.students.find()

while (cursor.hasNext()){

  var doc = cursor.next()

  printjson(doc)

}

(这里只显示部分数据)

在所有数据库中,MongoDB的游标操作是最简单,最直观的。

MongoDB(课时20 游标)的更多相关文章

  1. 学习MongoDB 六: MongoDB查询(游标操作、游标信息)(三)

    一.简介 db.collection.find()可以实现根据条件查询和指定使用投影运算符返回的字段省略此参数返回匹配文档中的所有字段.并返回到匹配文档的游标,可以随意修改查询限制.跳跃.和排序顺序的 ...

  2. MongoDB学习笔记-游标

    理解MongoDB的游标有两种维度:客户端和服务器端.下面将从这两方面来说明. 客户端 find方法返回值是一个游标.可以通过游标来对最终结果进行控制.比如限制结果数量,略过某一部分,根据任意键按任意 ...

  3. mongoDB查询及游标

    find文档 1.find简介 使用find查询集合中符合条件的子集合 db.test.blog.find(); 类似于sql查询 select * from test.blog 上面的查询是返回多有 ...

  4. MongoDB基础之五:游标

    1.cursor(游标)是什么 ? 通俗的说,游标不是查询结果,而是查询的返回资源,或者接口. 通过这个接口,你可以逐条读取. 就像php中的fopen打开文件,得到一个资源一样, 通过资源,可以一行 ...

  5. MongoDB (课时1,2)

    1.数据库之中支持的的SQL语句是由IBM开发出来的,使用并不麻烦,就是几个简单的单词:select, from, where,  group by, having, order by.目前最流行的数 ...

  6. 面向对象程序设计-C++_课时19const_课时20不可修改的

    error C2131: 表达式的计算结果不是常数 #include <iostream> using namespace std; void main() { ; int finalGr ...

  7. MongoDB小结20 - find【查询条件$size】

    size可以获得指定数组长度的文档 db.user.find({"fruit":{"$size":3}},{"_id":0}) { &quo ...

  8. MongoDB shell 5 游标方法

    方法名 描述 cursor.snapshot()   cursor.itcount()   cursor.batchSize()   cursor.pretty()   cursor.hint()   ...

  9. MongoDB之三(高级操作 聚合、游标)

    一: 聚合 常见的聚合操作跟sql server一样,有:count,distinct,group,mapReduce. <1> count count是最简单,最容易,也是最常用的聚合工 ...

随机推荐

  1. VB.net 与线程

    Imports System.Threading Imports System Public Class Form1 Dim th1, th2 As Thread Public Sub Method1 ...

  2. Oracle获取数据库中的对象创建语句

    使用dbms_metadata.get_ddl()函数可以做到. 实验环境:Oracle 11.2.0.4 以获取jingyu用户下的T1表为例: SQL> conn jingyu/jingyu ...

  3. 怎样在div中添加图片或设置颜色

    1.插入图片<div><img src="图片地址" /></div>2.图片做背景<div style="background ...

  4. POST—GET—两种提交方式的区别

        主要区别: 安全性 长度限制 数据结构.   总结起来: get方式:以URL字串本身传递数据参数,在服务器端可以从UERY_STRING'这个变量中直接读取,效率较高,但缺乏安全性,也无法来 ...

  5. GUN C中的attribute

    GNU C 的一大特色就是__attribute__ 机制.__attribute__ 可以设置函数属性(Function Attribute ).变量属性(Variable Attribute )和 ...

  6. 后台维护常用SQL

    OU.库存组织与子库存 select hou.organization_id ou_org_id, --org_id hou.name ou_name, --ou名称 ood.organization ...

  7. transition过度效果 + transform旋转360度

    css样式: .animate{ width:65px; height:40px; background:#92B901; color:#ffffff; position:absolute; font ...

  8. JSON自动生成相关类

    开源项目地址:https://jsonclassgenerator.codeplex.com/SourceControl/latest 太好用了,这个

  9. Python: 字典列表: itemgetter 函数: 根据某个或某几个字典字段来排序列表

    问题:根据某个或某几个字典字段来排序Python列表 answer: 通过使用operator 模块的itemgetter 函数,可以非常容易的排序这样的数据结构 eg: rows = [ {'fna ...

  10. gcc5.2版本安装详解

    gcc5.2版本安装详解 1.下载gcc-5.2安装包 gcc各版本浏览地址:http://ftp.gnu.org/gnu/gcc/gcc-5.2浏览地址:http://ftp.gnu.org/gnu ...