为了营造大批量数据,我们可以这样写javascript脚本

for (var i=1;i<=10000;i++)
{ if(i%2==1)
{
db.cursortest.insert({_id:i,name:'程劲'+i,age:19,major:['泰拳','散打','巴西柔术','和saintding大哥玩SM']});
}
else if(i%2==0)
{
db.cursortest.insert({_id:i,name:'陈培昌'+i,age:21,major:['泰拳','散打','巴西柔术','和saintding大哥一起厮混']});
}
}

显然,这样海量的数据,需要cursor帮助我们完成查询

可以指定只显示前10行

var mycursor = db.cursortest.find({_id:{$lte:10}})

mycursor.next()依次取下一条

当然mongodb为我们封装了forEach函数来循环打印结果注意大小写:

mycursor.forEach(function(obj){printjson(obj)})

效果如下:

还有分页的功能:

var duwa = db.cursortest.find().skip(9990)

duwa.forEach(function(obj){printjson(obj)})

 var tianwadi = db.cursortest.find().skip(9990).limit(5)
tianwadi.forEach(function(obj){printjson(obj)})

跨过前9990行,只显示5条

下面使用游标的toArray()方法,结果卧操~

注意!无论在命令行还是类似studio3T这样的IDE,在每次执行完游标的操作后,游标已经穷尽了数据集,所以要通过再声明一次游标的方法,以确保游标的forEach操作能继续进行。

var tianwadi = db.cursortest.find().skip(9990).limit(5)
tianwadi.toArray()
输出结果会返回一个列表,如下:
[
{
"_id" : 9991,
"name" : "程劲9991",
"age" : 19,
"major" : [
"泰拳",
"散打",
"巴西柔术",
"和丁大哥玩SM"
]
},
{
"_id" : 9992,
"name" : "陈培昌9992",
"age" : 21,
"major" : [
"泰拳",
"散打",
"巴西柔术",
"和丁大哥一起厮混"
]
},
{
"_id" : 9993,
"name" : "程劲9993",
"age" : 19,
"major" : [
"泰拳",
"散打",
"巴西柔术",
"和丁大哥玩SM"
]
},
{
"_id" : 9994,
"name" : "陈培昌9994",
"age" : 21,
"major" : [
"泰拳",
"散打",
"巴西柔术",
"和丁大哥一起厮混"
]
},
{
"_id" : 9995,
"name" : "程劲9995",
"age" : 19,
"major" : [
"泰拳",
"散打",
"巴西柔术",
"和丁大哥玩SM"
]
}
]

如果只取列表中的第4条操作如下:

var tianwadi = db.cursortest.find().skip(9990).limit(5)

tianwadi.toArray()[4]

返回结果如下;

{
"_id" : 9995,
"name" : "程劲9995",
"age" : 19,
"major" : [
"泰拳",
"散打",
"巴西柔术",
"和丁大哥玩SM"
]
}

最新文章

  1. linux进程间通信-消息队列
  2. windows2003开启vpn服务
  3. VMware网络设置
  4. IIS7.5支持解析读取.json文件数据
  5. 四 mybatis开发dao的方法
  6. Android权限安全(5)组件的android:exported属性
  7. 【JAVA版】Storm程序整合Kafka、Mongodb示例及部署
  8. hadoop命令报错:权限问题
  9. git的id_rsa.pub的生成(也就是github上的SSH Keys)
  10. 查看oracle数据库下面的所有的表,执行某个sql脚本:
  11. Duanxx的STM32学习:STM32命名规则
  12. Javascript进阶篇——(JS基础语法)笔记整理
  13. Android学习路径(十)如何将Action Bar堆放在布局
  14. Hibernate Tools for Eclipse安装
  15. Android热修复框架汇总整理(Hotfix)
  16. Android 5.0 SEAndroid下如何获得对一个内核节点的访问权限
  17. patch 28729262
  18. 可道云kodexplorer网盘未清理造成linux服务器爆满的解决方法
  19. Python面试真题第一节
  20. 最好还是用#pragma once

热门文章

  1. 【Python】【demo实验19】【练习实例】【不同位数相同阿拉伯数字组成的数之和】
  2. redis 持久化之 RDB &amp; AOF
  3. java8 用法小结
  4. POSTGRESQL日期函数大全
  5. PAT B1018.锤子剪刀布(20)
  6. Python 字符串,元祖,列表之间的转换
  7. Web前端开发CSS基础
  8. 深入理解计算机系统 第十一章 网络编程 part1 第二遍
  9. js判断是否是对象获取子窗体值
  10. ubuntu下安装python-selenuim自动化测试的谷歌浏览器驱动安装的位置