2016-11-17 12 views
0

문서에 전자 메일 배열이 있습니다. 하나 이상의 전자 메일을 공유하는 동일한 문서에서 다른 문서를 어떻게 찾을 수 있습니까?mongodb는 문서 전반에 걸쳐 배열에서 중복을 찾습니다.

기본적으로 연락처 컬렉션이 있고 각 연락처 문서에는 emailAddresses [] 배열이 있습니다. 두 개의 연락처 문서가 다른 문서와 공통된 이메일을 가지고 있지는 않은지 확인하고자하지만 이것이 어디에서 발생하는지 찾을 수는 없습니다.

답변

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

이 dupicate 있습니다 이메일을 발생합니다