`

【赵强老师】在MongoDB中使用游标

阅读更多

一、什么是游标?

游标(Cursor)是处理数据的一种方法,为了查看或者处理结果集中的数据,游标提供了在结果集中一次一行或者多行前进或向后浏览数据的能力。

游标实际上是一种能从包括多条数据记录的结果集中每次提取一条记录的机制。游标可以被看作是一个查询结果集(可以是零条、一条或由相关的选择语句检索出的多条记录)和结果集中指向特定记录的游标位置组成的一个临时文件,提供了在查询结果集中向前或向后浏览数据、处理结果集中数据的能力。有了游标,用户就可以访问结果集中任意一行数据,在将游标放置到某行之后,可以在该行或从该位置的行块上执行操作。

二、MongoDB的游标

在MongoDB中,使用db.collection.find()方法将返回一个游标。如果要访问文档,我们需要使用游标的迭代器。但是,在mongo shell中,如果没有给返回的游标指定变量,游标将自动首先返回前20条记录。下面我们通过几个具体的例子,来说明如何使用游标。

  • 定义游标

 

var mycursor = db.emp.find()

 

 

  • 使用游标访问文档
var mycursor = db.emp.find()
while(mycursor.hasNext()){
	printjson(mycursor.next())
}

也可以像这样:mycursor.forEach(printjson)

 

  • 游标和数组
var mycursor = db.emp.find()  定义游标
var myarray  = mycursor.toArray() 将游标转成数组
var myDocument = myarray[3]       通过数组元素访问文档

 

  • 分页查询: skip和limit
每页显示5条记录
var mycursor = db.emp.find().limit(5)          第一页
var mycursor = db.emp.find().limit(5).skip(5)  第二页

 

关闭游标:默认情况下,10分钟内没有使用使用的游标会被自动关闭。可以使用.noCursorTimeout()来设置游标的关闭选项,这时就需要手动关闭游标。

var mycursor = db.emp.find().noCursorTimeout()

 

分享到:
评论

相关推荐

    10天掌握MongoDB

    文档是MongoDB中最基础的数据单位,它以BSON(一种类似于JSON的二进制编码格式)格式存储。BSON格式的数据能够有效地在应用程序和数据库之间传输,并且支持多种数据类型,包括嵌套的文档和数组。 此外,MongoDB还...

    传智播客 赵强 Oracle课件

    在赵强老师的课程中,你可以学到以下几个重要的Oracle知识点: 1. **Oracle基础知识**:了解Oracle的历史、版本以及其在企业级应用中的重要性。学习数据库的概念、数据模型(如关系型模型)以及数据库管理系统...

    赵强老师的Oracle课件

    想要好好地学习Oracle数据库的朋友呀,你错过了她就太不值得了。里面有好多的Oracle操作命令可能你都没接触过吧。好了,话不多多说。坚信资料不错!你,值得拥有!OK.还有,之所有要你2分打赏,是我给了你这么好的...

    精通JSP编程 作者赵强

    《精通JSP编程》是赵强先生的一部深入解析JSP技术的专业著作,该书针对JSP编程进行了全面且深入的讲解,旨在帮助读者掌握JSP的核心概念和技术,提升Web应用开发能力。根据提供的文件名列表,我们可以推测书籍的章节...

    精通JSP编程 作者赵强 编

    精通JSP编程 作者赵强 编 12-18节

    Oracle学习笔记(传智播客 赵强)

    2. **AND和OR操作符的使用策略**:在条件组合中,应将更可能为假的条件放在`AND`操作符的右侧,将更可能为真的条件放在`OR`操作符的右侧。这是因为SQL通常从右向左评估表达式,这样的排列有助于尽早确定查询结果。 ...

    [1120][赵强精通JSP编程][37M]

    根据描述中的信息,可以通过以下几种方式获取赵强的《精通JSP编程》这本书的资料: - **下载地址**:提供了一个链接,虽然链接格式不正确,但可以通过修改后访问获取资料的网站。 - **作者联系方式**:提供了QQ号...

    oracle讲义

    7. 光标的使用:12 光标的使用.ppt会详细说明如何在PL/SQL中使用游标来处理单行或多行结果集,包括声明、打开、读取和关闭光标等步骤。 8. 存储过程与函数:14 存储过程与函数.ppt将阐述这两者的定义、用途和创建...

    Oracle数据库赵强视频教程【3天】

    教程名称:Oracle 数据库赵强视频教程【3天】教程目录:【】Oracle安装与管理、SQL语句(赵强)【】Orcale存储过程jdbc与Orcale大文本操作等(赵强)【】SQL...资源太大,传百度网盘了,链接在附件中,有需要的同学自取。

    二年级数学生活中的大数赵强PPT学习教案.pptx

    这篇PPT学习教案主要针对二年级的学生,旨在教授他们在生活中如何理解和使用大数。课程以实际生活中的例子引入,帮助孩子们建立起对大数的概念。首先,提到我们可以用肉眼观察到大约三千颗星星,这是一个直观的大数...

    二年级数学生活中的大数赵强PPT课件.pptx

    这些实例都是为了让学生在实际情境中感知大数,并了解它们在我们生活中的应用。 课件的第16页开始引入了数位的概念,通过填空的形式让学生理解“个”、“十”、“百”、“千”的进制关系,比如10个一是10,10个十是...

    LoadRunner性能测试巧匠训练营-完整版(带目录)-赵强邹伟伟

    《LoadRunner性能测试巧匠训练营》是一本深入讲解LoadRunner性能测试的教材,由赵强和邹伟伟两位专家共同编著。该资源提供的是完整版,且无需密码即可解压阅读,对于想要学习和提升LoadRunner性能测试技能的人来说,...

    day2013-0110-webLogic配置和集群(赵强).zip

    2. 创建集群:在WebLogic管理控制台中,创建一个新的集群,为每个成员服务器指定主机名和端口,并配置集群间的通信设置。 3. 部署到集群:应用部署到集群时,会自动复制到所有集群成员,确保所有节点都能处理请求。...

    java代码-46 赖赵强

    在本项目中,标题"java代码-46 赖赵强"暗示了这是一个与Java编程相关的代码示例,可能是由一个名叫赖赵强的开发者编写的。在Java编程领域,这种命名通常是为了记录个人的学习过程或者项目经历。描述中的内容相同,...

    oracle内部培训教材(来自传智播客学员)

    Oracle是世界上最广泛使用的数据库管理系统之一,尤其在企业级应用中占据主导地位。这份"oracle内部培训教材"源自知名教育机构传智播客的学员资源,旨在帮助学习者深入理解Oracle数据库系统的核心概念、管理和优化...

Global site tag (gtag.js) - Google Analytics