一个关于mongo查询的问题

ruyi_Ican · 2020-12-25 16:47:39 · 3275 次点击 · 大约8小时之前 开始浏览    置顶
这是一个创建于 2020-12-25 16:47:39 的主题,其中的信息可能已经有所发展或是发生改变。

golang使用mongo的时候,如何根据日期进行分组统计,这个工作在mysql上感觉很正常, 但是mongo的group并不简单。请问有比较了解的朋友,帮助一下谢谢


有疑问加站长微信联系(非本文作者)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

3275 次点击  
加入收藏 微博
2 回复  |  直到 2021-01-07 10:00:24
golang_zbw
golang_zbw · #1 · 4年之前

数据库里可以冗余日期字段,比如20210106,查这个字段就行了。如果用mongo分组查询,数据量大了肯定是不行的

zhangxu-ai
zhangxu-ai · #2 · 4年之前
//这一步主要是讲string类型的格式化时间转换为date结构,可以跳过
    {$project:{
        _id:0,
        newDate:{$dateFromString:{dateString:"$date"}},
    }},
//将date结构按照年月日进行分组,也可以 %Y-%m-%d %h:%M ,按分组分组,以此类推
    {$group:{
        _id:{$dateToString: { format: "%Y-%m-%d", date: "$newDate" }},
        count:{$sum:1}
    }},
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传