【发布时间】:2017-06-24 05:50:01
【问题描述】:
在 MongoDB 中我有一个集合:
Statistics
{
UserID: int //User id
Url: string //Url
Clicks: [DateTime] //A time array
}
当用户点击一个 url 时,在 Clicks 数组中添加一个点击日期的日期。我的问题是如何编写聚合查询,例如获取从 [date1] 到 [date2] 的点击次数并按 UserID 分组?如何将, 输出到文件?
谢谢!
【问题讨论】:
-
您的意思是“组”是指对行进行分组,还是指“组”是按用户 ID 排序,这样一个用户 ID 的所有 url 都在结果集中的同一区域中?
-
我的意思是组与排序不同。就像 SQL 命令 GROUP BY。
-
我认为您的一些架构在这里丢失了,因为:“获得从 [date1] 到 [date2] 的点击次数”但您没有数字,您的 Clicks 字段不是 Datetime 字段显示点击的整数字段,之后您只有 URL 字段。您的日期字段的名称是什么?
-
Sammaye,该字段的名称是 Clicks。点击次数 - 它是 Clicks 数组中项目的长度。
-
这是一个非常奇怪的架构。通常,在这种情况下,每次点击都会制作一个文档。嗯,这确实让您变得更加困难,因为您要在许多文档中的子文档中的许多元素中绑定日期时间范围......我会玩一下。
标签: mongodb output aggregation-framework