【发布时间】:2019-07-02 02:06:17
【问题描述】:
我需要在 MongoDB 中生成一个简单的频率表。假设我在名为 books 的集合中有以下文档。
{
"_id": 1,
genre: [
"Fantasy",
"Crime",
"Drama"
]
}
{
"_id": 2,
genre: [
"Drama"
]
}
预期的输出是: 幻想:1 犯罪:1 剧情:2
假设我不知道哪些类型是可能的,我怎样才能让 MongoDB 检测类型并计算它们?这似乎是聚合框架的工作。
到目前为止,我已经到了这个阶段:
db.books.aggregate([
{
$group: {
_id: null,
test: {$push: "$genre"}
}
}
])
这并没有按预期工作,因为它只是从每个文档中添加了流派数组。谁能指出我正确的方向?我应该使用聚合框架吗?
谢谢!
【问题讨论】:
标签: mongodb mongodb-query aggregation-framework