mongodb - 如何获得 MongoDB 中每周的最大日期和总值?
问题描述
我正在使用 MongoDB shell 来执行以下查询中的查询。
db.analytics.aggregate(
[{ "$match": { "community": ObjectId("5e1ad5b6910a72a9bd02ccc8") } },
{
"$project": {
"_id": 1, "date": 1, "week": { "$week": "$date" },
"total": { "$add": ["$data.postCount", "$data.commentCount", "$data.voteCount.totalVotes", "$data.likeCount"] }
}
}])
现在我得到了如下图所示。
在上图中,我已经将日期转换为周数,但现在我只需要每周总价值的最大日期。我怎样才能解决这个问题?
解决方案
我正在使用这个解决方案,它工作正常。
db.analytics.aggregate({"$match":{"community":ObjectId("5e1ad5b6910a72a9bd02ccc8")}},
{"$sort":{"date":1}},
{"$project":{"_id":1, "date": 1, "week":{"$week":"$date"},
"total":{"$add":["$data.postCount", "$data.commentCount", "$data.voteCount.totalVotes",
"$data.likeCount"]}}},
{"$group":{"_id":"$week","maxdate":{"$last":"$date"},"total":{"$last":"$total"}}},
{"$project":{"_id":"$_id","maxdate":1, "total":1}})
推荐阅读
- flutter - 在一页中使用多颤动块
- node.js - 将 React 迁移到 SSR 的问题。从“@babel/runtime/helpers/esm/extends”导入 _extends
- android - intent.resolveActivity() 为 ACTION_SEND 意图返回 null
- python - 使用 Python 将 JSON 转为 XML 文件
- c# - 如何使用 c# 查找 excel 应用程序是即点即用(在线 Office365 安装程序)还是 Windows 安装程序(ISO 文件或 DVD)
- java - 我正在使用 Apache POI 将 PPTX 幻灯片转换为图像,但是生成的图像的大小非常大,超过 1.5 mb
- python - 在 Python '0,3638412' 中将字符串转换为浮点数
- graphql - 基于内部片段的graphql过滤器(gatsbyJS)
- python - 如何在 PYZMQ 套接字中获取发送者的地址?(多个客户端,1个服务器)
- html - 为什么我的 html 网站在我朋友的电脑上看起来不一样?