【发布时间】:2018-03-12 02:48:52
【问题描述】:
我有一个具有以下架构的 MongoDB 集合:
const MessageSchema = {
message: {type: String},
category: {type String, allowedValues: ['a', 'b', 'c', 'd', 'e']},
createdAt: {type: Date}
}
这些消息文档是按随机时间间隔创建的。我想创建图表所需的数据集,该图表绘制每个类别的每分钟消息数(计数)。输出将是带有键 time, a.count, b.count, c.count, d.count 和 e.count 的对象数组。生成的数据集应仅考虑上周的数据,而不是更早的数据。
数据集可能非常大。
我想我可以用db.collection.mapReduce 做到这一点。我找到了一个适用于所有消息的解决方案,但没有按类别分开。指向正确方向的指针将不胜感激。
【问题讨论】:
-
你看过聚合吗? $group?
标签: javascript mongodb hadoop mapreduce nosql