mongodb05---游标

简介:
复制代码
游标cursor: 通俗的说,游标不是查询结果,而是查询的返回资源,或者接口. 通过这个接口,你可以逐条读取.就像php中的fopen打开文件,得到一个资源一样, 通过资源,可以一行一行的读文件. var cursor1 = db.bar.find({}); //10000条没有输出, db.bar.find().count(); var cursor1 = db.bar.find({_id:{$lte:10}});//id小于等于10 while(cursor1.hasNext()){ //while循环 print(cursor1.next());//打印bson,next一次就移动一次 printjson(cursor1.next());//next一次就移动一次 } //for循环输出 for(var cs=db.bar.find({_id:{$lte:10}}),doc=true;cs.hasNext();){ printjson(cs.next()); } //foreach输出: var cs = db.bar.find({_id:{$lte:10}}); cs.forEach(function(o){printjson('你的title是'+o.title)}) 输出: "你的title是hello1" "你的title是hello3" "你的title是hello5" "你的title是hello7" "你的title是hello9" "你的title是hello11" 游标在分页中的应用 比如查到10000行,跳过100页,取10行.一般地,我们假设每页N行, 当前是page页就需要跳过前 (page-1)*N 行, 再取N行, 在mysql中, limit offset,N来实现 在mongo中,用skip(), limit()函数来实现的 如 var mycursor = db.bar.find().skip(9995); 则是查询结果中,跳过前9995行 查询第901页,每页10条 则是 var mycursor = db.bar.find().skip(500).limit(10); mycursor.forEach(function(o){printjson('你的title是'+o.title)}); 通过cursor一次性得到所有数据, 并返回数组. 例: var cursor = db.bar.find().skip(500).limit(20); printjson(cursor.toArray()); //不想迭代,而是直接打印出来,看到所有行 printjson(cursor.toArray()[2]); //看到第2行 注意: 不要随意使用toArray() 原因: 会把所有的行立即以对象形式组织在内存里. 可以在取出少数几行时,用此功能. </pre>
复制代码

 


本文转自农夫山泉别墅博客园博客,原文链接:http://www.cnblogs.com/yaowen/p/8149292.html,如需转载请自行联系原作者

相关文章
|
NoSQL MongoDB 数据库
4种方法解决MongoDB游标超时的问题
4种方法解决MongoDB游标超时的问题
838 0
|
NoSQL Shell MongoDB
MongoDB(15)- 查询操作里面的游标 cursor
MongoDB(15)- 查询操作里面的游标 cursor
519 0
MongoDB(15)- 查询操作里面的游标 cursor
|
存储 JavaScript NoSQL
《MongoDB管理与开发精要》——3.4节游标和存储过程
本节书摘来自华章社区《MongoDB管理与开发精要》一书中的第3章,第3.4节游标和存储过程,作者:红 丸,更多章节内容可以访问云栖社区“华章社区”公众号查看
1492 0
|
NoSQL 数据库 MongoDB
MongoDB 游标
MongoDB中的游标与关系型数据库中的游标在功能上大同小异。游标相当于C语言的指针,可以定位到某条记录,在MongoDB中,则是文档。
1217 0
|
SQL NoSQL JavaScript
mongoDB查询及游标
find文档 1.find简介 使用find查询集合中符合条件的子集合 1 db.test.blog.find(); 类似于sql查询 1 select * from test.blog   上面的查询是返回多有多有集合,并且是所有键。
1559 0
|
NoSQL 关系型数据库 数据库
3.非关系型数据库(Nosql)之mongodb:升降序排序,排序分页,$all,$in,$nin,$or,$nor, $exists,游标,更新(update,$set,$unset,$inc)
 1排序sort() A降序排列 db.c4.find().sort().sort({age:-1}); B升序排列: db.c4.find().sort({age:-1}); C排序分页 db.collectionName.find().sort({age:-1}).skip(2
1323 0
|
4月前
|
NoSQL MongoDB 数据库
数据库数据恢复—MongoDB数据库数据恢复案例
MongoDB数据库数据恢复环境: 一台操作系统为Windows Server的虚拟机上部署MongoDB数据库。 MongoDB数据库故障: 工作人员在MongoDB服务仍然开启的情况下将MongoDB数据库文件拷贝到其他分区,数据复制完成后将MongoDB数据库原先所在的分区进行了格式化操作。 结果发现拷贝过去的数据无法使用。管理员又将数据拷贝回原始分区,MongoDB服务仍然无法使用,报错“Windows无法启动MongoDB服务(位于 本地计算机 上)错误1067:进程意外终止。”
|
4月前
|
缓存 NoSQL Linux
在CentOS 7系统中彻底移除MongoDB数据库的步骤
以上步骤完成后,MongoDB应该会从您的CentOS 7系统中被彻底移除。在执行上述操作前,请确保已经备份好所有重要数据以防丢失。这些步骤操作需要一些基本的Linux系统管理知识,若您对某一步骤不是非常清楚,请先进行必要的学习或咨询专业人士。在执行系统级操作时,推荐在实施前创建系统快照或备份,以便在出现问题时能够恢复到原先的状态。
394 79

推荐镜像

查看更多
下一篇