在蒙戈,我很难理解如何使用总管道。
列出下列文件:
db.dishes.insertMany([
{_id: "Vanilla Sundae", keywords: ["vanilla", "ice cream", "desert"] },
{_id: "Vanilla Cake", keywords: ["vanilla", "cake", "baking", "desert"] },
{_id: "Chocolate Cake", keywords: ["chocolate", "cake", "baking", "desert"] }
])
如何创建聚合,以返回keywords
的不同关键字和文档计数的列表
[
{"_id": "vanilla", "count": 2},
{"_id": "ice cream", "count": 1},
{"_id": "desert", "count": 3},
{"_id": "baking", "count": 2},
{"_id": "cake", "count": 2},
{"_id": "chocolate", "count": 1}
]
发布于 2021-05-21 19:08:40
您可以使用$unwind
和$group
解构和重构数组。
db.collection.aggregate([
{ $unwind: "$keywords" },
{
$group: {
_id: "$keywords",
count: { $sum: 1 }
}
}
])
Working 蒙戈游乐场
发布于 2021-05-21 19:18:51
您可以使用解卷与组运算符相结合来实现这一点。
db.collection.aggregate([ { "$unwind": { path: "$keywords" } }, { "$group": { "_id": "$keywords", "count": { $sum: 1 } } }, ])
这应该能起作用!:)
我正在附加MongoDB游乐场这里。
https://stackoverflow.com/questions/67645060
复制相似问题