gpt4 book ai didi

MongoDB - 聚合 - 获取数组中的唯一项

转载 作者:行者123 更新时间:2023-12-02 00:17:24 24 4
gpt4 key购买 nike

这是我的 MongoDB 集合:

{
"_id" : ObjectId("515d8f53175b8ecb053425c2"),
"category" : "Batteries",
"products" : [
{
"brand" : "Duracell",
"item" : [
"AA",
"AAA"
]
},
{
"brand" : "Everyday",
"item" : [
"9V",
"AA",
"12V"
]
}
]
}

我需要的输出是

1) 所有项目的唯一列表

{["AA", "AAA", "9V", "12V"]}

和2.每个产品的唯一项目列表

{
"category" : "Batteries",
"item": ["AA", "AAA", "9V", "12V"]
}

我对 MongoDB 非常陌生,我尝试了不同的聚合函数,但似乎没有任何效果。请帮忙。

最佳答案

经过几次尝试,我解决了这个问题。命令如下:

db.xyz.aggregate( {$project: {a: '$products.item'}}, 
{$unwind: '$a'},
{$unwind: '$a'},
{$group: {_id: 'a', items: {$addToSet: '$a'}}});

db.xyz.aggregate( {$project: {category: 1, a: '$products.item'}}, 
{$unwind: '$a'},
{$unwind: '$a'},
{$group: {_id: '$category', items: {$addToSet: '$a'}}});

关于MongoDB - 聚合 - 获取数组中的唯一项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15814526/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com