2016-11-17 6 views
0

Имея массив писем по документу. Как мы найдем другой документ в той же коллекции, в которой будет по крайней мере один общий адрес?mongodb найти дубликаты в массиве по документам

По существу у нас есть коллекция контактов, и каждый контактный документ имеет массив адресов электронной почты []. Мы хотим убедиться, что у двух контактных документов нет электронного письма с другим документом, но мы не можем найти, где это происходит.

ответ

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

Это приведет электронные письма, которые dupicate