如果我的文件看起来像:
{
_id: 1,
val1: x,
val2: aa
},
{
_id: 2,
val1: y,
val2: bb
},
{
_id: 3,
val1: x,
val2: cc
},
{
_id: 4,
val1: z,
val2: bb
}
是否可以将它们分组到MongoDB中,以便文档1和3配对,文档2和4配对?
从本质上讲,如果他们的val1或val2相同,我希望对文档进行分组。此外,文档不可能存在于两个不同的组中。意思是,我应该能够对文档集进行分区。 Mongo可以吗?
最终,我想根据上述标准对我的文档进行分区,然后计算每个子集的大小。
我尝试通过对val1字段进行分组并使用$ addToSet创建一个val2数组来攻击此问题。但后来我被卡住了,因为我不知道在Mongo中合并包含至少一个共同元素的数组的方法。如果我这样做,我可以使用该数组列表并使用$ in再次聚合。
如果我能以任何方式澄清我的问题,请告诉我!