这是我的 MongoDB 集合:
{
"_id" : ObjectId("515d8f53175b8ecb053425c2"),
"category" : "Batteries",
"products" : [
{
"brand" : "Duracell",
"item" : [
"AA",
"AAA"
]
},
{
"brand" : "Everyday",
"item" : [
"9V",
"AA",
"12V"
]
}
]
}
我需要的输出是:
1)所有项目的唯一列表
{["AA", "AAA", "9V", "12V"]}
并且每个产品都有独特的物品清单
{
"category" : "Batteries",
"item": ["AA", "AAA", "9V", "12V"]
}
我对MongoDB很陌生,尝试了不同聚合函数但似乎都不起作用。请帮忙。
$first
而不是unwind
。它返回数组中的第一个项目,并且比$unwind便宜得多。与$addFields
结合使用。例如{$addFields:{item:{$first:'products.item'}}} 现在,您可以展开“item”并在“$group”阶段中使用它。 - Emanuel Lindström