当前位置:Gxlcms > 数据库问题 > MongoDB(15)- 查询操作里面的游标 cursor

MongoDB(15)- 查询操作里面的游标 cursor

时间:2021-07-01 10:21:17 帮助过:17人阅读

( { type: 2 } ); myCursor

技术图片

 

使用 cursor 的 next() 方法

var myCursor = db.users.find( { type: 2 } );

while (myCursor.hasNext()) {
   print(tojson(myCursor.next()));
}

技术图片

 

使用 printjson() 代替 print() 方法

var myCursor = db.users.find( { type: 2 } );

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

技术图片

 

使用 cursor 的 forEach() 方法

var myCursor =  db.users.find( { type: 2 } );

myCursor.forEach(printjson);

技术图片

 

使用 pretty() 直接打印

这不香吗,为什么要用游标还写代码,搞不懂搞不懂

> db.inventory.find({item : /^p/}).pretty()

技术图片

 

常见的游标方法名

方法名作用
hasNext 判断是否有更多的文档
next 用来获取下一条文档
toArray 将查询结构放到数组中
count 查询的结果为文档的总数量
limit 限制查询结果返回数量
skip 跳过指定数目的文档
sort 对查询结果进行排序
objsLeftlnBatch 查看当前批次剩余的未被迭代的文档数量
addOption 为游标设置辅助选项,修改游标的默认行为
hint 为查询强制使用指定索引
explain 用于获取查询执行过程报告
snapshot 对查询结果使用快照

(后面会对常用的游标方法进行详解)

 

以下三种情况会让游标被销毁

  • 客户端保存的游标变量不在作用域内。
  • 游标遍历完成后,或者客户端主动发送终止消息
  • 在服务器端 10 分钟内未对游标进行操作

 

MongoDB(15)- 查询操作里面的游标 cursor

标签:hint   mongod   服务器端   sort   过程   alt   游标变量   src   ODB   

人气教程排行