MongoDB(课时20 游标)
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 游标)的更多相关文章
- 学习MongoDB 六: MongoDB查询(游标操作、游标信息)(三)
一.简介 db.collection.find()可以实现根据条件查询和指定使用投影运算符返回的字段省略此参数返回匹配文档中的所有字段.并返回到匹配文档的游标,可以随意修改查询限制.跳跃.和排序顺序的 ...
- MongoDB学习笔记-游标
理解MongoDB的游标有两种维度:客户端和服务器端.下面将从这两方面来说明. 客户端 find方法返回值是一个游标.可以通过游标来对最终结果进行控制.比如限制结果数量,略过某一部分,根据任意键按任意 ...
- mongoDB查询及游标
find文档 1.find简介 使用find查询集合中符合条件的子集合 db.test.blog.find(); 类似于sql查询 select * from test.blog 上面的查询是返回多有 ...
- MongoDB基础之五:游标
1.cursor(游标)是什么 ? 通俗的说,游标不是查询结果,而是查询的返回资源,或者接口. 通过这个接口,你可以逐条读取. 就像php中的fopen打开文件,得到一个资源一样, 通过资源,可以一行 ...
- MongoDB (课时1,2)
1.数据库之中支持的的SQL语句是由IBM开发出来的,使用并不麻烦,就是几个简单的单词:select, from, where, group by, having, order by.目前最流行的数 ...
- 面向对象程序设计-C++_课时19const_课时20不可修改的
error C2131: 表达式的计算结果不是常数 #include <iostream> using namespace std; void main() { ; int finalGr ...
- MongoDB小结20 - find【查询条件$size】
size可以获得指定数组长度的文档 db.user.find({"fruit":{"$size":3}},{"_id":0}) { &quo ...
- MongoDB shell 5 游标方法
方法名 描述 cursor.snapshot() cursor.itcount() cursor.batchSize() cursor.pretty() cursor.hint() ...
- MongoDB之三(高级操作 聚合、游标)
一: 聚合 常见的聚合操作跟sql server一样,有:count,distinct,group,mapReduce. <1> count count是最简单,最容易,也是最常用的聚合工 ...
随机推荐
- test examples/test scripts
//https://www.getpostman.com/docs/v6/postman/scripts/test_examples //Setting an environment variable ...
- input的text输入框设置大一点
<input type="text" style="height:51px;width:449px;font-size:12px;">12可以随意改 ...
- C++Builder6.0 新建和打开项目软件死机
大清早上班打开C++Builder6.0软件,打开项目却卡死,甚是奇怪,然后尝试新建项目也同样卡死.尝试打开一个CPP文件,可以打开,再尝试打开项目.bpr文件,便打开了.至于原因为什么,那就不得而知 ...
- Perl中的正则表达式(五)
正则表达式(Regular Expression),在Perl里边通常也叫做模式(Pattern),用来表示匹配(或不匹配)某个字符串的特征模板. 使用简单模式:若模式匹配的对象是$_的内容,只要把模 ...
- mongodbtemplate配置
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.sp ...
- Linux命令: ls -l显示文件和目录的详细资料
ls -l 显示文件和目录的详细资料
- WSDL解析
背景 前面我们介绍过利用javassist动态生成webservice,这种方式可以使得我们系统通过页面配置动态发布webservice服务,做到0代码开发发布北向接口.进一步思考,我们如何0代码开发 ...
- R 简明教程
R 是一门统计语言.它有很多数据分析和挖掘程序包.可以用来统计.分析和制图. 你也可以在 LaTeX 文档中运行 R 命令. # 注释以 # 开始 # R 语言原生不支持 多行注释 # 但是你可以像这 ...
- Linux基础命令---ar
ar ar指令可以创建.修改库,也可以从库中提取单个模块.库是一个单独的文件,里面包含了按照特定结构组织起来的其他文件,我们称作member.归档文件通常是一个二进制文件,我们一般将归档文件当作库来使 ...
- WordPress存在DoS拒绝服务漏洞,推荐删除根目录下的xmlrpc.php
WordPress存在DoS拒绝服务漏洞,推荐删除根目录下的xmlrpc.php受影响的版本:WordPress 3.9.x-3.9.1WordPress 3.8.x-3.8.3WordPress 3 ...