- 游标:游标不是查询结果,而是查询的返回资源或者接口,通过这个接口,可以逐条读取
1 var myCursor = db.col.find() // 游标声明
2 myCursor.count() // 返回Curser对象表示的文档数量,是经过find函数查询的
3 myCursor.explain() // 返回一个文档,描述用来返回查询结果的执行集合
4 myCursor.max(doc) // 指定Cursor返回文档的最大值,如max({num:1000}),则返回的结果中num属性最大为1000
5 myCursor.min(doc) // 指定Cursor返回文档的最小值
6 print(myCursor.next()) // 打印[object BSON];mycuser.next():获取游标的下一个单元
7 printjson(myCursor.next())
8 print(myCursor.hasNext()) // mycuser.hasNext():判断是否还有下一个
9 myCursor.toArray() // 以数组形式返回结果
10 printjson(myCursor.toArray()[2]) // 返回数组中的第三个结果
11 // while循环
12 var myCursor = db.col.find()
13 while(myCursor.hasNext()){
14 printjson(myCursor.next())
15 }
16 // for循环
17 for(var myCursor = db.col.find(); myCursor.hasNext(); ){
18 printjson(myCursor.next())
19 }
20 // forEach循环
21 var myCursor = db.col.find()
22 myCursor.forEach(function(obj){
23 printjson(obj)
24 })
25 // map操作:迭代Curser中的每一个文档,并对其执行指定的函数,返回的结果加入到一个数组,并返回这个数组
26 var myCursor = db.col.find()
27 myCursor.forEach(function(doc){
28 return doc.name; // name是文档的属性
29 })
30 var myCursor = db.col.find().sort({key:1}).skip(N).limit(M) // 按key属性排序,跳过N条,取M条
31 myCursor.size() // 表示执行过skip()和limit()方法,返回给Cursor的文档数