Loading

mongo中游标

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

 

posted @ 2018-03-10 15:50  莫问今朝乄  阅读(347)  评论(0)    收藏  举报