mongo聚合例子

聚合语句

db.onofflineUserHistory.aggregate([
{$match:{"offlineTime":{$gt:ISODate("2016-09-13T01:54:55Z"), "$lt":ISODate("2016-09-13T10:05:55Z")},"logType":"off"}},
{$project:{updateTime:1,offlineTime:1,offTimeInc:{$add:[‘$offlineTime‘,1800000]},mac:1}},
{$project:{updateTime:1,offlineTime:1,offTimeInc:1,mac:1,eq:{$cond:[{$gt:[‘$updateTime‘,‘$offTimeInc‘]}, 1, 0]}}},
{$match:{eq:1}}
])

聚合条数语句db.tableName.aggregate([
{$match:{"offlineTime":{$gt:ISODate("2016-09-13T01:54:55Z"), "$lt":ISODate("2016-09-13T10:05:55Z")},"logType":"off"}},
{$project:{updateTime:1,offlineTime:1,offTimeInc:{$add:[‘$offlineTime‘,1800000]},mac:1}},
{$project:{updateTime:1,offlineTime:1,offTimeInc:1,mac:1,eq:{$cond:[{$gt:[‘$updateTime‘,‘$offTimeInc‘]}, 1, 0]}}},
{$match:{eq:1}},
{$group:{_id:null, total:{$sum:1}}}
])
时间: 2024-08-01 03:50:00

mongo聚合例子的相关文章

Mongo聚合函数

{ "_id" : ObjectId("57301c7e5fd5d6e2afa221d1"), "a" : "张三", "b" : 11, "list": [ { "name" : "aaaa", "age" : 21 } ] }{ "_id" : ObjectId("57301c7e5fd5d6e

mongo聚合函数count问题

在使用一个时间字段做范围查询count()行数时,发现一个问题: 集合总doc数: mongo>db.log.find().count();90370113 查询小于ISODate("2016-10-10T08:00:00.358Z")的doc有多少条: mongo>db.log.find({"startTime":{$lt:ISODate("2016-10-10T08:00:00.358Z")}}).count();31031319

mongo 聚合查询

*****************未加索引****************************************** > var startTime = new Date(); > db.temMinlog.find({"id":0}).count(); 1215 >  (new Date().getTime()-startTime.getTime())/1000 194.811s ******************加索引*****************

mongodb高级聚合查询

在工作中会经常遇到一些mongodb的聚合操作,特此总结下.mongo存储的可以是复杂类型,比如数组.对象等mysql不善于处理的文档型结构,并且聚合的操作也比mysql复杂很多. 注:本文基于 mongodb v3.6 目录 mongo与mysql聚合类比 aggregate简介 aggregate语法 aggregate常用pipeline stage介绍(本文核心) mongo与mysql聚合类比 为了便于理解,先将常见的mongo的聚合操作和mysql的查询做下类比: SQL 操作/函数

Elasticsearch聚合 之 Range区间聚合

Elasticsearch提供了多种聚合方式,能帮助用户快速的进行信息统计与分类,本篇主要讲解下如何使用Range区间聚合. 最简单的例子,想要统计一个班级考试60分以下.60到80分.80到100分,在ES中只要一个命令就可以轻松统计.... 更多资料参考:Elasticsearch文档翻译 聚合例子 按照前言中的例子,可以执行下面的命令: { "aggs":{ "grade_ranges":{ "range":{ "field&qu

mongo aggregate 用法记录

mongo 聚合查询查询还是很方便的,做下记录     依赖的jar是org.springframework.data.mongodb 1.9.6  低版本可能不支持. 数据结构  大概是  这是一份问卷,问卷有15题,统计 { "_id": ObjectId("5a30eeef84aeea4fbcd6045c"), "_class": "com.fjhb.elearning.model.QuestionnaireSurvey"

SQL条件逻辑——SQL读书笔记

<SQL学习指南>中的第11章 1.1 概念:      条件逻辑:条件逻辑是程序执行时从多个路径中选取其一的能力 1)简单例子演示: 例子1:查询客户信息时根据客户类型从individual表中检索fname/lname列或者从business表中 获取name列 (左外连接) SELECT c.cust_id,c.fed_id,c.cust_type_cd, CONCAT(i.fname,' ',i.lname) AS indv_name, b.`name` AS business_nam

【ES】学习8-聚合1

参考资料: https://elasticsearch.cn/book/elasticsearch_definitive_guide_2.x/_combining_the_two.html 特定概念: 桶(Buckets)满足特定条件的文档的集合 指标(Metrics)对桶内的文档进行统计计算 SELECT COUNT(color) FROM table GROUP BY color COUNT(color) 相当于指标. GROUP BY color 相当于桶. 聚合例子: curl -XGE

软件设计要素初探:软件设计的一些子主题

在 "软件设计要素初探" 一文,尝试从软件设计的整体角度,综合讨论了软件设计的各种要素.本文主要探讨一些稍小的设计子主题,主要包括:错误处理.结构性难题.整体与兼容.设计取舍.设计与重构.设计与质量.设计与细节.维护与扩展.测量技术. 错误处理 错误处理关乎系统的健壮性,且是全局性设计问题.一个整体的错误处理架构主要包括两部分: 参数的严格校验.规范而易于理解的错误码和错误消息.无遗漏的异常捕获和转译.警告和错误日志输出: 一致的错误处理机制.不同级别错误的处理策略. 第一部分并不需要