Arrays MongoDB-查找具有相同值的元素

Arrays MongoDB-查找具有相同值的元素,arrays,mongodb,Arrays,Mongodb,我有以下格式的数据。它包含一个数组中每个销售成员的文档及其三天内的销售数量 { "_id" : "Roger", "Sales" : [ 15, 2, 7 ] } { "_id" : "Sally", "Sales" : [ 11, 7, 3 ] } { "_id" : "Patrick", "Sales" : [ 3, 5, 9 ] } { "_id" : "Sarah", "Sales" : [ 9, 21, 11 ] } { "_id" : "Allen", "Sales" : [ 3,

我有以下格式的数据。它包含一个数组中每个销售成员的文档及其三天内的销售数量

{ "_id" : "Roger", "Sales" : [ 15, 2, 7 ] }
{ "_id" : "Sally", "Sales" : [ 11, 7, 3 ] }
{ "_id" : "Patrick", "Sales" : [ 3, 5, 9 ] }
{ "_id" : "Sarah", "Sales" : [ 9, 21, 11 ] }
{ "_id" : "Allen", "Sales" : [ 3, 9, 11 ] }
我想为那些在三天中至少有两天销售数量相同的人返回销售人员姓名和销售额。我希望萨莉、莎拉、帕特里克和艾伦能回来

我该怎么做?我尝试了以下方法,但无效:

db.SalesReport.aggregate([
  {"$unwind":"$Sales"},
  {"$group": {"$Name":"$Sales", "count":{"$sum":1}}},
  {"$match": {"count":{"$gt":1}}},
])

你为什么期待他们?因为他们都有11个?你的解释似乎遗漏了一些东西。这是一个家庭作业问题吗?你也应该在
\u id
{“$group”:{“\u id”:“$Sales”,“count”:{“$sum”:1}}}
从你的标准中我最多可以看出,只有“罗杰”在实际情况下不符合要求,因为所有其他人与其他人共享“至少两个销售数字”。你真的需要在这里解释你自己,因为它看起来确实像一个家庭作业问题,在小世界或“现实世界”中解决这个问题有完全不同的解决方案scale@NeilLunn是的,这是一个我一直在为期末报告而努力的问题,所以规模比现实世界小得多。我们必须向全班展示如何返回正确的结果,即返回三次销售中至少两次匹配的结果。你是对的,我错过了帕特里克,并编辑了上面的内容。我想你的导师希望你自己解决这个问题。你展示别人为你解决的问题没有什么意义。解决方案有一个合乎逻辑的行动过程,我猜你的导师目前正试图教你一些关于复杂性的知识,考虑到不同的方法。