MongoDB CRUD操作:mongosh 游标迭代
在mongosh中,执行
db.collection.find()
方法会返回一个游标,要访问文档,需要遍历游标。不过,在mongosh中,如果没有使用var关键字将返回的游标赋值给变量,游标默认会自动迭代20次,打印结果中的前20个文档。本文会介绍在mongosh中迭代游标的一些方法,包括手动迭代游标以访问文档或使用迭代器索引的方法。
手动迭代光标
在mongosh中,可以使用var
关键字将find()
方法返回的游标赋值给一个变量,这样游标就不会自动遍历了。此时,可以在shell中调用游标变量,默认遍历20次,并打印出匹配的文档,如下例所示:
var myCursor = db.users.find( {
type: 2 } );
myCursor
也可以使用游标的方法next()
访问文档,如下例所示:
var myCursor = db.users.find( {
type: 2 } );
while (myCursor.hasNext()) {
print(tojson(myCursor.next()));
}
作为打印操作的替代方法,可以使用printjson(