在文档上添加一组电子邮件。我们如何在同一个集合中找到共享至少一个共同电子邮件的另一个文档?
基本上我们有一个联系人集合,每个联系人文档都有一个emailAddresses []数组。我们希望确保没有两个联系人文档与另一个文档有共同的电子邮件,但我们无法找到这种情况。
答案 0 :(得分:3)
db.collection.aggregate([
{"$unwind" : "$emails"},
{$group : {"_id" : "$emails" , "count" :{"$sum" : 1} }},
{"$match" : {"count" : {"$gt" : 1}}}
])
这将导致重复的电子邮件