文档章节

mongodb比较复杂的综合统计计算,性能还不差

造化玉碟
 造化玉碟
发布于 2014/11/18 15:59
字数 189
阅读 1877
收藏 8
db.app_users.aggregate([
 {
     $project:{
         fs:1,
         ls:1,
         subt:{$subtract:['$ls','$fs']},
         days714:{
             $cond: [ { $gte:['$ls',(Math.round((new Date()).getTime() / 1000)-14*24*60*60)]},1,0]
         },
         days1430:{
             $cond: [
             {
                 $and:[
                    { $lte:['$ls',(Math.round((new Date()).getTime() / 1000)-14*24*60*60)]},
                    { $gte:['$ls',(Math.round((new Date()).getTime() / 1000)-30*24*60*60)]}
                 ]
             },1,0]
         },
                
         days30:{
             $cond: [ { $lte:['$ls',(Math.round((new Date()).getTime() / 1000)-30*24*60*60)]},1,0]
         },
         
         days815:{
             $cond: [
             {
                 $and:[
                    { $lte:['$ls',(Math.round((new Date()).getTime() / 1000)-8*24*60*60)]},
                    { $gte:['$ls',(Math.round((new Date()).getTime() / 1000)-15*24*60*60)]}
                 ]
             },1,0]
         },
         days1531:{
             $cond: [
             {
                 $and:[
                    { $lte:['$ls',(Math.round((new Date()).getTime() / 1000)-15*24*60*60)]},
                    { $gte:['$ls',(Math.round((new Date()).getTime() / 1000)-31*24*60*60)]}
                 ]
             },1,0]
         },
                
         days31:{
             $cond: [ { $lte:['$ls',(Math.round((new Date()).getTime() / 1000)-31*24*60*60)]},1,0]
         },
     }
 },
 {
     $match:{
         subt:{$lt:24*60*60},
         ls:{ $lt:(Math.round((new Date()).getTime() / 1000)-7*24*60*60)}
     }
 },
 {
     $group:{
         '_id':null,
         days7_14: {$sum: "$days714"},
         days14_30: {$sum: "$days1430"},
         days_more30: {$sum: "$days30"},
         days8_15: {$sum: "$days715"},
         days15_31: {$sum: "$days1531"},
         days_more31: {$sum: "$days30"}
     }
 }
])


© 著作权归作者所有

共有 人打赏支持
造化玉碟
粉丝 43
博文 45
码字总数 26950
作品 0
海淀
前端工程师
MySQL、MongoDB、Redis 数据库之间的区别

MySQL、MongoDB、Redis 数据库之间的区别 NoSQL 的全称是 Not Only SQL,也可以理解非关系型的数据库,是一种新型的革命式的数据库设计方式,不过它不是为了取代传统的关系型数据库而被设计的...

推荐码发放
07/30
0
0
视觉中国潘凡谈MongoDB应用实践

受访人 潘凡 采访人 黄玲艳 发布于 2011年8月25日 概要 本次采访中,来自视觉中国的技术总监兼架构师潘凡分享了视觉中国网站在技术选型中的一些经验,根据网站业务需求及数据量,最终选择Mon...

zjf_sdnu
2011/10/15
0
0
MongoDB运行状态、性能监控,分析

使用任何一个产品,必不可少的一项工作就是对存储的监控,监控可以让你更了解存储的运作方式,让你更早的发现使用上的问题,下面文章转自泛城科技技术博客,对MongoDB的监控做了详细深入的探...

stefanzhlg
2014/12/03
0
0
MongoDB之Hadoop驱动介绍

MongoDB之Hadoop驱动介绍 ------------------------ 1. 一些概念 Hadoop 是一套Apache开源的分布式计算框架,其中包括了分布式文件系统DFS与分布式计算模型MapReduce,而MongoDB是一个面向文...

李长春
2011/09/02
0
1
Redis,Memcache,mongoDB的区别

从以下几个维度,对redis、memcache、mongoDB 做了对比,欢迎拍砖 1、性能 都比较高,性能对我们来说应该都不是瓶颈 总体来讲,TPS方面redis和memcache差不多,要大于mongodb 2、操作的便利性...

Surjur
2014/12/02
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

shell-日志脚本小实验

1.查找日志2018-8-15,求得那一分钟访问量最大。 #/bin/bash#from cc#2018-8-15#2018-08-15.log 哪一分钟 访问量 最大for d in `ls /data/nginx/logs/`doif [ -a 2018-08-15...

chencheng-linux
昨天
0
0
Android中的设计模式之状态模式

参考 《设计模式:可复用面向对象软件的基础 》5.8 State 状态 对象行为型模式 《Android源码设计模式解析与实战》第7章 随遇而安--状态模式 意图 允许一个对象在其内部状态改变时改变它的行...

newtrek
昨天
0
0
xshell端 vim没有颜色

说明 使用xshell连接服务器的时候,使用vim打开文档没有颜色 解决方法: 1.在更目录home或者etc下找到vim的配置文件vimrc 2.vim打开它找个坑,添加下面这个东西 set t_Co=256 3.保存退出,就...

杉下
昨天
0
0
spring 资料

spring boot http://www.ityouknow.com/springboot/2016/01/06/spring-boot-quick-start.html

zaolonglei
昨天
2
0
TypeScript基础入门 - 函数 - 简介

转载 TypeScript基础入门 - 函数 - 简介 项目实践仓库 https://github.com/durban89/typescript_demo.gittag: 1.1.6 为了保证后面的学习演示需要安装下ts-node,这样后面的每个操作都能直接...

durban
昨天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部