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)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

无名之辈无名之辈

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值