MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Trovare l'intersezione tra due raccolte in MongoDb

Copia entrambe le raccolte in un'unica raccolta (includi un campo discriminatore se necessario in modo da poter dire che tipo di documento hai in ogni istanza).

Esegui map-reduce su quella raccolta

In Map, emetti la parola come chiave e un valore, pronuncia {instance:1, dict:0} o {instance:0, dict:1} a seconda che il documento mappato sia un'istanza o una voce del dizionario. (Potresti aggiungere più campi qui nei valori, se necessario.)

In Riduci, accumula i punteggi (come al solito).

Ora esegui una query cercando instance > 0 e dict > 0 e hai tutte le parole che sono in entrambi.