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()方法可以查询由表中保留的文档数

 

相关文章
|
4月前
|
SQL 存储 OLAP
ClickHouse 在什么场景下才管用?
ClickHouse 是一款以速度快著称的分析型数据库,尤其在列式宽表遍历方面表现出色。然而,面对复杂查询和关联运算时,ClickHouse 的性能急剧下降,甚至无法执行某些任务。相比之下,esProc SPL 通过更简洁的 SPL 语法和强大的优化能力,在各种复杂场景下均表现出色,全面超越 ClickHouse。实际案例显示,esProc SPL 在处理大规模数据时,性能提升可达数十倍。
|
8月前
|
SQL 关系型数据库 MySQL
蓝易云 - Mysql join加多条件与where的区别
总的来说,JOIN和WHERE都是SQL查询的重要部分,但它们用于处理不同的问题:JOIN用于连接表,而WHERE用于过滤结果。
45 2
|
存储 关系型数据库 MySQL
mysql中游标的运用
最近项目中应对实际情况的需求,又修改了主业务,导致表结构设计不合理,之后又修改了表结构,但是表结构修改之后历史数据需要升级,来适应新的表结构的一系列增删改查。
|
关系型数据库 MySQL
【技术】常见mysql命令21天打卡-第十七天
【技术】常见mysql命令21天打卡-第十七天
|
关系型数据库 MySQL 数据库
【技术】常见mysql命令21天打卡-第十九天
【技术】常见mysql命令21天打卡-第十九天
|
SQL 存储 关系型数据库
炸裂!MySQL 82 张图带你飞!(二)
这篇文章我们来了解一下 MySQL 中的高级内容。
91 0
炸裂!MySQL 82 张图带你飞!(二)
|
SQL 关系型数据库 MySQL
炸裂!MySQL 82 张图带你飞!(五)
这篇文章我们来了解一下 MySQL 中的高级内容。
104 0
炸裂!MySQL 82 张图带你飞!(五)
|
存储 SQL 关系型数据库
炸裂!MySQL 82 张图带你飞!(四)
这篇文章我们来了解一下 MySQL 中的高级内容。
102 0
炸裂!MySQL 82 张图带你飞!(四)