来自包含代表与以下产品相似的产品的文档的集合:
[
{
code: '0WE3A5CMY',
name: 'lorem',
category: 'voluptas',
variants: [
{
color: 'PapayaWhip',
stock: 17,
barcode: 4937310396997
},
{
color: 'RoyalBlue',
stock: 13,
barcode: 9787252504890
},
{
color: 'DodgerBlue',
stock: 10,
barcode: 9794456959791
}
]
},
{
code: '0WE3A5CMX',
name: 'ipsum',
category: 'temporibus',
variants: [
{
color: 'RoyalBlue',
stock: 13,
barcode: 2342520211840
},
{
color: 'DodgerBlue',
stock: 10,
barcode: 2342520211841
}
]
}
]
我想检索variants.color
和category
的不同组合。所以结果应该是:
[
{
category: 'voluptas',
color: 'PapayaWhip',
},
{
category: 'voluptas',
color: 'RoyalBlue',
},
{
category: 'voluptas',
color: 'DodgerBlue',
},
{
category: 'temporibus',
color: 'RoyalBlue',
},
{
category: 'temporibus',
color: 'DodgerBlue',
}
]
[基于一些粗略的研究,我认为我将不得不使用聚合,但是我从未使用过这些聚合,而且我所看到的所有示例似乎都涉及更复杂的用例,但我不确定该如何进行。] >
[由代表类似于以下产品的文档组成的集合:[{代码:'0WE3A5CMY',名称:'lorem',类别:'voluptas',变体:[...
variants
是一个数组,您需要对其展开并在两个字段上分组以基于category + 'variants.color'
组合获得唯一的文档。