golang mongodb 聚合(Aggregate) github.com/qiniu/qmgo框架
项目场景:
最近使用golang 来访问mongodb 出了点问题 github.com/qiniu/qmgo对于数据聚合踩了坑 官方的demo给的太少没有多分支的场景
问题描述:
网上对于golang 来调用mongodb 的文章少之又少几乎没有 下面是我反复试验规范的使用mongodb 聚合的规范代码
APP 中接收数据代码:
matchStage := bson.D{{"$match", []bson.E{{"type_id", 9},{"timestamp", bson.D{{"$gte", 0}, {"$lte", msg.EndTimeStamp}}},},},}groupStage := bson.D{{"$group", bson.D{{"_id", "$type_id"},{"send_flux", bson.D{{"$avg", "$send_flux"}}},{"recv_flux", bson.D{{"$avg", "$recv_flux"}}},},},}var showsWithInfo []bson.M// aggregate ALL()err := cli.Aggregate(context.Background(), mongo.Pipeline{matchStage, groupStage}).All(&showsWithInfo)if err != nil {mqttlog.WriteInfoLog("%s", err)}length = len(showsWithInfo)for i := 0; i < length; i++ {fmt.Println(showsWithInfo[i])}
原因分析:
之前是个人对于qmgo框架 还有对mongodb的驱动,缺乏理解, mongodb的大括号匹配也着实坑,注意逗号的使用
解决方案:
按照上述标准代码来进行过滤最为合适 。
golang mongodb 聚合(Aggregate) github.com/qiniu/qmgo框架相关推荐
- MongoDB聚合aggregate操作集锦
MongoDB中聚合(aggregate)主要用于处理数据(诸如统计平均值,求和等),并返回计算后的数据结果.有点类似sql语句中的 count(*). 基本语法为:db.collection.agg ...
- MongoDB 聚合 aggregate 的 match 和 project 阶段样例
研究一个 MongoDB 的 aggregate 的 match 和 project 的样例. 博客 博客地址:IT老兵驿站. 正文 前面的帖子有讲过,MongoDB 的 aggregate 是可以分 ...
- mongodb 日期分组聚合_mongoose聚合aggregate按日期分组计算
简介 在MongoDB中,聚合(aggregate)主要用于进行处理数据,比如统计求和,求平均数等,并返回计算后的数据结果,这给我们带来了很多便捷之处,因为可以在读取数据的同时进行数据处理. 场景介绍 ...
- mongodb聚合查询-aggregate
Mongodb-aggregate 在工作中经常遇到一些mongodb的聚合操作,和mysql对比起来,mongo存储的可以是复杂的类型,比如数组,字典等mysql不善于处理的文档型结构,但是mong ...
- MongoDB聚合(aggregate)常用操作及示例
简介 MongoDB 中聚合(aggregate)主要用于处理数据(诸如统计平均值,求和等),并返回计算后的数据结果. 有点类似 SQL 语句中的 count(*). 常用操作 表达式 描述 $mat ...
- MongoDB 添加、查询(条件查询、排序、分页、返回指定字段)、修改、删除数据、聚合aggregate
MongoDB内部支持JavaScript语法,使用SpiderMonkey作为内部的JavaScript解释器引擎. 1.常用命令 show databases:显示数据库列表 use:切换数据库 ...
- Mongodb数据 ,聚合 aggregate
聚合 aggregate 聚合(aggregate)主要用于计算数据,类似sql中的sum().avg() 语法 db.集合名称.aggregate([{管道:{表达式}}]) 管道 管道在Unix和 ...
- mongoDB中聚合(aggregate)的具体使用
mongoDB中聚合(aggregate)的具体使用 - 简书 最近在学习mongoDB的使用,本文来介绍一下其中aggregate的具体使用 先来看一个分组的例子,本例中$group是一个管道操作符 ...
- MongoDB 聚合操作
MongoDB 聚合操作 在MongoDB中,有两种方式计算聚合:Pipeline 和 MapReduce.Pipeline查询速度快于MapReduce,但是MapReduce的强大之处在于能够在多 ...
最新文章
- python3.6 messagebox_Python Tkinter GUI编程入门介绍
- SqlServer修改数据库文件及日志文件存放位置
- servlet+jdbc+javabean其实跟ssh差不多
- ASP.NET - MVC框架及搭建教程
- 基于jQuery/zepto的单页应用(SPA)搭建方案
- 在 xfire中使用 GZip来 压缩 传输量
- 家庭问题(信息学奥赛一本通-T1362)
- c++已知2点求中垂线_电力系统负荷预测-基本方法以及分析(2)
- 【WPF】设置DataGrid表头内容居中显示
- 火狐可以使用广告终结者_使用Jupyter从终结者终止的地方重新启动脚本
- 【python中级】 获取系统的局域网ip地址
- 三阶矩阵的lu分解详细步骤_矩阵的LU分解
- 安装语言包-英文(美国)
- PHP-用ThinkPHP和Bootstrap实现用户登录设计
- 【原创】BERT知识融合
- iptv增值业务--华为机顶盒视频播放代码
- Tensor多维slice切片操作
- 一年卖出1500万支的钟薛高,正在通过企业微信和顾客“社交”
- 从STM32F407到AT32F407(一)
- Matlab 在线版 —— 科研人员的福音!无需下载安装,可计算可作图
热门文章
- perl 获取匹配正则表达式字串
- 什么是IDC?IDC数据中心什么意思?
- 拉格朗日乘子法(Lagrange Multiplier)详解以及乘子lambda的意义
- Python的变量声明
- Linux:chmod -R 777 *含义
- utf8mb4_unicode_ci、utf8mb4_general_ci的区别总结
- 兔年伊始谈闲书:三体-乌合之众-百年孤独 和《猫城记》(随笔)
- 大数据学习路线图(2023完整版)适合收藏
- linux进阶之道 pdf,PDF
- java sqlserver 插入数据_java中怎样向SQLserver中插入数据