MongoDB 文档游标
短信预约 信息系统项目管理师 报名、考试、查分时间动态提醒
- 可以通过下标来访问查询结果 item
- 可以迭代、遍历
打印出所有item1
> var cursor=db.accounts.find({name:"alice2"});
> while(cursor.hasNext()){ print(cursor.next()) }
[object BSON]
[object BSON]
[object BSON]
[object BSON]
打印出所有item2
> var cursor=db.accounts.find({name:"alice2"});
> cursor.forEach(function(item){ print(item) })
skip 和 limit
> db.accounts.find({name:"alice2"}).limit(3).skip(1)
{ "_id" : ObjectId("5d7f43abaecbd2bc0fa821b7"), "name" : "alice2", "balance" : 100 }
{ "_id" : ObjectId("5d7f8f0da7b5867462dee50f"), "name" : "alice2", "balance" : 100, "contact" : [ 13611111111, "Guangzhou" ] }
{ "_id" : ObjectId("5d7f8f21a7b5867462dee510"), "name" : "alice2", "balance" : 100, "contact" : [ [ 13611111111, 13622222222 ], "Guangzhou" ] }
count
查询记录数量
# 默认情况下,count 函数不会考虑 skip 和 limit 的影响
> db.accounts.find({name:"alice2"}).limit(3).count()
18
# count 函数传 true 参数之后,就会考虑 skip 和 limit 的影响了
> db.accounts.find({name:"alice2"}).limit(3).count(true)
3
# 在不提供筛选条件的时候,count 函数并不会遍历文档,而是通过meta来返回文档数量。在分布式数据库结构较为复杂的时候,此时通过meta来获取,会不太准确,应该通过聚合管道来获取
> db.accounts.find().count()
31
sort
1 为升序,-1 为降序
> db.accounts.find().sort({balance:-1})
{ "_id" : ObjectId("5d7f25f4aecbd2bc0fa821b3"), "name" : "charlie", "balance" : 500 }
{ "_id" : ObjectId("5d7f26b6aecbd2bc0fa821b6"), "name" : "david", "balance" : 200 }
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341