mongodb的文档游标

文档游标

为什么学习前端都要学习MongoDB?

因为MongoDB原生就支持JavaScript, 也就是我们可以直接在MongoDB中混入JS代码

什么是文档游标

我们执行find方法后, find方法其实是有返回值的, find方法会返回一个文档游标(相当于C语言指针)

文档游标常用方法

hasNext(): 是否还有下一个文档
next(): 取出下一个文档
forEach(): 依次取出所有文档

文档游标注意:

默认情况下通过文档游标遍历完所有文档后, 系统会在10分钟后自动关闭当前游标
如果不想自动关闭, 我们可以通过noCursorTimeout函数来保持游标一直有效:

var cursor = db.person.find().noCursorTimeout()

如果想手动关闭游标, 我们也可以通过close函数来手动关闭游标

cursor.close()
示例:
// 需求: 往person集合中插入100个文档
var arr =[];
for(var i = 0; i < 100; i++){
    
    
  arr.push({
    
    name:'it'+i, age:18+i});
}
db.person.insertMany(arr)


var cursor = db.person.find().noCursorTimeout()
//cursor[0]
//cursor[1]
while(cursor.hasNext()){
    
    
   printjson(cursor.next())
}

cursor.forEach(printjson)
cursor.close()
*/

//需求,往person集合中插入个文档:
//db.person.insertOne({
    
    })
//db.person.insertMany({
    
    })
/*var arr=[];
for(var i=0;i<100;i++){
    
    
    arr.push({
    
    name:'it'+i,age:18+i});
}
db.person.insertMany(arr)*/

//我们在执行find之后会有一个返回值的,它会返回一个文档游标(相当于c与语言的指针)
var cursor=db.person.find()
cursor[10]

/*while(cursor.hasNext()){
    
    
    printjson(cursor.next())
}*/

//forEach,会对查询到的所有文档进行遍历,这里是遍历并打印所有
//cursor.forEach(printjson)

猜你喜欢

转载自blog.csdn.net/ice_stone_kai/article/details/122850714
今日推荐