MongoDB Setunion和分组依据

vjanu

我有一组条目,其中每个项目都有Extra数组,每个项目都有它自己的制造商。我想要的是互相连接具有相同制造商的额外阵列。

`db.products.aggregate([

 { $project: {allValues: { $setUnion: "$Extras" }, _id: "$Manufacturer" } },

])`

我在上面的查询中使用过,每个单独的制造商如下所示。 在此处输入图片说明

但是我想要的是如果制造商是菲亚特,将所有的Extras(allvalues)组合在一起

米克尔

您可以使用$开卷获得单Extras每份文件,然后$组通过Manufacturer使用$ addToSet获得独特的价值观:

db.products.aggregate([
    {
        $unwind: "$Extras"
    },
    {
        $group: {
            _id: "$Manufacturer",
            allValues: { $addToSet: "$Extras" }
        }
    }
])

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章