Mongodb操作总结

1、Mongovue里面可以直接group by ,这个时候一定要注意,group by的任何条件的是 json, 注意当值是Int,非string型的时候,值不要加上双引号

2、注意group by的时候,key的行数不能超过2万

3、

function Reduce(doc, out) {
/*

// At start of Reduce, 'out' = intial value
out.count += doc.count;

*/
out.num+= doc.count.pv;

}   

reduce里面,doc表示要被操作的文档,out是要输出的内容

4、在reduce上边要initial value,也是Json形式

5、Conditions可以写成{'day':{$gte:201509}},操作了多次Mongovue,发现似乎每个命令例如:大于等于,都是keyValue的形式

6、在用feild查询字段的时候发现,如果用{"count.pv":1}的时候出现结果是一个json格式?{pv:1},如何让他直接显示1呢?我感觉是不是他认为一个Json里面可以有多个PV呢?

7、整个Mongovue最后生成的代码如下:

•db.sh_day_2013.group({
• key : {'si':true,'day':true},
• cond : {'day':{$gte:2015}},
• initial : {'num':0},
• reduce : function Reduce(doc, out) {
• 
•  out.num+= doc.count.pv;
• 
•},
• finalize : function Finalize(out) {
•  /* 
• 
•  // Make final updates or calculations
•  out.countSquare = out.count * out.count
• 
•  */
•  return out;
•}
•});
 
配置好mongovue之后,下边有相应的command命令
 
将command命令放到链接的脚本上直接执行就可以了
 
7、如何将查询出命令导出呢?在monguve里面没有找到导出的命令
8、在command命令里面肯定是可以执行的
9、感觉最终group by 后,最后的数据可以for循环插入到某个表中,可以参照http://www.studyofnet.com/news/85.html
原文地址:https://www.cnblogs.com/liuxiaocao/p/5070900.html