MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Encontrando interseção entre duas coleções no MongoDb


Copie as duas coleções em uma única coleção (inclua um campo discriminador, se necessário, para que você possa dizer que tipo de documento você tem em cada instância).

Execute map-reduce nessa coleção

No mapa, emita a palavra como chave e um valor, digamos {instance:1, dict:0} ou {instance:0, dict:1} dependendo se o documento que está sendo mapeado é uma instância ou uma entrada de dicionário. (Você pode adicionar mais campos aqui nos valores conforme necessário.)

Em Reduzir, acumule as pontuações (como de costume).

Agora faça uma consulta procurando por instance > 0 e dict > 0 e você tem todas as palavras que estão em ambos.