标签:查询 构建 游标对象 count 使用 自增 查询条件 正则表达式 padding
最小值
null
数字(整形、长整型、双精度)
字符串
对象、文档
数组
二进制数据
对象ID
布尔型
日期型
时间戳
正则表达式
最大值
db.gtb.group({ key:{age:1}, cond:{age:{$gt:2}}, reduce:function(){}, initial:{} }) 等同于 select age,count(1) from gtb group by age db.posts.group({ "key" : {"day" : true}, //根据key分组,结果显示key "initial" : {"tags" : {}}, //初始化展示的tags文档对象 "$reduce" : function (doc, prev) { //doc为当前行对象,prev为initial构建的对象 for (i in doc.tags) { //遍历当前行的tags数组 if (doc.tags[i] in prev.tags) { //如果当前行tags数组里面的数据存在于构建显示的对象里面,则进行统计+1,否则初始化为1 //“prev”则代表“累加器文档”的累加状态 prev.tags[doc.tags[i]]++; } else { prev.tags[doc.tags[i]] = 1; } } }, "finalize":function(prev){ //针对每次reduce结束之后,对累加器文档进行操作 for(i in prev.tags) //保留当前累加器大于2的数据 { if(prev.tags[i]<2) { delete prev.tags[i]; } } } }) 等同于,先根据day时间分组,然后对分组之后得tags数组之内的内容进行统计,
var cur =db.posts.find(); //当前为查询集合对象 while(cur.hasNext()){ print(cur.next()) //表示打印当前游标对象 } 等同于 cur.forEach(function(itm){print( itm )}) ,不同点为cur.next()是对象实体, itm 为对象引用
var res=db.posts.find() //当前并未真正执行查询 res.hasNext() //此时才真正出发查询
标签:查询 构建 游标对象 count 使用 自增 查询条件 正则表达式 padding
原文地址:http://www.cnblogs.com/sunxueyang222/p/7064077.html