mongo中游标

简介: 1.手动循环访问游标    mongo中我们常用的查询方式db.collection.find()方法其实返回的就是游标,只不过我们并未给返回的游标分配变量,我们所看到的的查询数据也就是游标自动迭代得出的(在shell中自动迭代20次).

1.手动循环访问游标

    mongo中我们常用的查询方式db.collection.find()方法其实返回的就是游标,只不过我们并未给返回的游标分配变量,我们所看到的的查询数据也就是游标自动迭代得出的(在shell中自动迭代20次).下面便使用手动迭代游标

db.users.insert([{name:1},{name:2},{name:3}])

然后使用变量来接收返回的游标

var myCursor = db.users.find()

 然后我们再次调用myCursor即可输出

 我们还可以使用hasNext()next()方法来执行游标

while(myCursor.hasNext())
{
    printjson(myCursor.next())
}

 也可以使用游标的forEach()方法来执行游标

myCursor.forEach(printjson)

 在shell中,可以使用toArray()方法来迭代游标并返回数组中文档

  注意:toArray()方法会完成迭代,所以游标会耗尽

var arrdoc = myCursor.toArray()
 for(var i = 0;i<arrdoc.length;i++)
{
    printjson(arrdoc[i])
}

2.查询游标保留文档数

  mongo中objsLeftInBatch()方法可以查询由表中保留的文档数

 

相关文章
|
9月前
|
关系型数据库 MySQL
Mysql基础第十九天,使用不同类型的链接
Mysql基础第十九天,使用不同类型的链接
48 0
Mysql基础第十九天,使用不同类型的链接
|
NoSQL MongoDB 索引
开心档-软件开发入门之MongoDB 覆盖索引查询
开心档-软件开发入门之MongoDB 覆盖索引查询
85 0
|
5月前
|
算法 C语言 Python
算法题:有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁。问第4个人岁数,他说比第 4 3个人大2岁。问第三个人,又说比第2人大两岁。问第2个人,说比第一个人大两岁。
算法题:有5个人坐在一起,问第五个人多少岁?他说比第4个人大2岁。问第4个人岁数,他说比第 4 3个人大2岁。问第三个人,又说比第2人大两岁。问第2个人,说比第一个人大两岁。
166 4
|
7月前
|
SQL 存储 Oracle
Oracle数据库中游标的工作原理与优化方法
Oracle数据库中游标的工作原理与优化方法
|
9月前
|
关系型数据库 MySQL
Mysql基础第十六天,分组数据
Mysql基础第十六天,分组数据
40 0
|
存储 关系型数据库 MySQL
mysql中游标的运用
最近项目中应对实际情况的需求,又修改了主业务,导致表结构设计不合理,之后又修改了表结构,但是表结构修改之后历史数据需要升级,来适应新的表结构的一系列增删改查。
|
NoSQL MongoDB 索引
开心档 - 软件开发入门之 MongoDB 覆盖索引查询
官方的 MongoDB 的文档中说明,覆盖查询是以下的查询:所有的查询字段是索引的一部分所有的查询返回字段在同一个索引中
开心档 - 软件开发入门之 MongoDB 覆盖索引查询
|
SQL BI 索引
【SQL开发实战技巧】系列(二十八):数仓报表场景☞人员分布问题以及不同组(分区)同时聚集如何实现
【SQL开发实战技巧】这一系列博主当作复习旧知识来进行写作,毕竟SQL开发在数据分析场景非常重要且基础,面试也会经常问SQL开发和调优经验,相信当我写完这一系列文章,也能再有所收获,未来面对SQL面试也能游刃有余~。
【SQL开发实战技巧】系列(二十八):数仓报表场景☞人员分布问题以及不同组(分区)同时聚集如何实现