MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Znajdowanie przecięcia między dwiema kolekcjami w MongoDb

Skopiuj obie kolekcje do jednej kolekcji (w razie potrzeby dodaj pole rozróżniające, aby móc określić, jaki rodzaj dokumentu masz w każdym przypadku).

Uruchom redukcję map w tej kolekcji

W Mapie wyemituj słowo jako klucz i wartość, powiedz {instance:1, dict:0} lub {instance:0, dict:1} w zależności od tego, czy mapowany dokument jest instancją, czy wpisem słownika. (W razie potrzeby możesz dodać więcej pól do wartości).

W trybie Reduce zbierz wyniki (jak zwykle).

Teraz wykonaj zapytanie szukające instance > 0 i dict > 0 i masz wszystkie słowa, które są w obu.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Użyj $cond w $match w agregacji mongoDB

  2. Jak mogę uporządkować moją aplikację ekspresową, w której wystarczy otworzyć połączenie mongodb tylko raz?

  3. Mongo java driver - pobierz wycinek tablicy bez żadnego innego pola

  4. Jak uzyskać negację zapytania mongoidowego?

  5. sterownik c mongo:jak wyszukiwać dokumenty z _id na liście?