mongodb在文档中查找数组中的重复项

时间:2016-11-17 16:35:12

标签: arrays mongodb duplicates email-address

在文档上添加一组电子邮件。我们如何在同一个集合中找到共享至少一个共同电子邮件的另一个文档?

基本上我们有一个联系人集合,每个联系人文档都有一个emailAddresses []数组。我们希望确保没有两个联系人文档与另一个文档有共同的电子邮件,但我们无法找到这种情况。

1 个答案:

答案 0 :(得分:3)

db.collection.aggregate([
{"$unwind" : "$emails"},
{$group  : {"_id" : "$emails" , "count" :{"$sum" : 1} }},
{"$match" : {"count" : {"$gt" : 1}}}
])

这将导致重复的电子邮件