【发布时间】:2023-01-11 03:57:53
【问题描述】:
我在 MongoDB 中有以下文档结构:
{
// other keys,
tags: [
tagA: "red",
tagB: "green"
]
},
{
// other keys,
tags: [
tagA: "orange",
tagB: "green",
tagC: "car"
]
}
我想执行 $facets 搜索,得到以下输出(每个标签的名称 + 该标签上出现的值 + 这些值的计数):
{
[
tagA: {
red: 1,
orange: 1
},
tagB: {
green: 2
},
tagC: {
car: 1
}
]
}
棘手的部分是这些方面是预先未知的(它们可能会有所不同),而且我发现的每个教程都只适用于一组预定义的方面。
是否可以?
P.S.:如何让这个输出与给定的查询一起出现?所以回报是这样的:
{
queryResults: [all the results, as in a normal query],
facets: [result showed in accepted answer]
}
【问题讨论】:
-
只是根据给定的方面动态构建查询文档?
-
不明白你的意思
标签: mongodb aggregation-framework faceted-search