如何使用Mongodb聚合框架查找不考虑顺序的数字组合

如何使用Mongodb聚合框架查找不考虑顺序的数字组合,mongodb,mongoose,mongodb-query,Mongodb,Mongoose,Mongodb Query,是否可以使用mongodb计算组合用于特定字段的次数,而不考虑顺序?在我的例子中,我希望合计所有具有相同项目编号的文档,而不管这些编号的顺序如何。例如[5,4,3]和[4,3,5]被认为是相同的,因为它们有相同的数字 在我的模式示例中,我希望找到所有相同项的id(无论它们的顺序如何)。从那里我想计算“在线”的百分比 例如,我有这个模式 { id: 5, online: true, item1: 432, item2: 314, item3: 453, item4: 324, ite

是否可以使用mongodb计算组合用于特定字段的次数,而不考虑顺序?在我的例子中,我希望合计所有具有相同项目编号的文档,而不管这些编号的顺序如何。例如[5,4,3]和[4,3,5]被认为是相同的,因为它们有相同的数字

在我的模式示例中,我希望找到所有相同项的id(无论它们的顺序如何)。从那里我想计算“在线”的百分比

例如,我有这个模式

{
 id: 5,
 online: true,
 item1: 432,
 item2: 314,
 item3: 453,
 item4: 324,
 item5: 238,
 item6: 138
}

{ 
 id: 6, 
 online: false,
 item1: 314, //same as above just with item 1 and 2 swapped around
 item2: 432,
 item3: 453,
 item4: 324,
 item5: 238,
 item6: 138
}

{ 
 id: 7, //no match
 online: true,
 item1: 394,
 item2: 432,
 item3: 3253,
 item4: 324,
 item5: 218,
 item6: 438
}
return [5,6],[7]
说实话,我甚至不知道该从哪里开始,所以任何帮助都将不胜感激:)谢谢


乔尔

为什么不使用数组
items
来存储项目编号,而不使用名为
item1
item2
等的字段。?这将使这(以及可能的许多其他事情)变得更容易,因为您可以使用所有有用的数据。我正在聚合一个外部api中的数据,该api以这种格式提供数据,我将查看集合运算符,看看是否可以将现有数据更改为这种格式。谢谢:)