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

MongoDB Znajdź dokładne dopasowanie tablicy, ale kolejność nie ma znaczenia

Obecnie zaakceptowana odpowiedź NIE gwarantuje dokładnego dopasowania w Twojej tablicy, wystarczy tylko, że rozmiar jest identyczny i że tablica współdzieli co najmniej jeden element z tablicą zapytania.

Na przykład zapytanie

db.coll.find({ "hobbies": { "$size" : 2, "$in": [ "2", "1", "5", "hamburger" ] }  });

w takim przypadku nadal zwróci użytkownika kaushik.

Aby uzyskać dokładne dopasowanie, musisz połączyć $size z $all , jak tak:

db.coll.find({ "hobbies": { "$size" : 2, "$all": [ "2", "1" ] }  });

Należy jednak pamiętać, że może to być bardzo kosztowna operacja, w zależności od ilości i struktury danych. Ponieważ MongoDB utrzymuje stabilną kolejność wstawianych tablic, może lepiej będzie zapewnić uporządkowanie tablic podczas wstawiania do bazy danych. dzięki czemu możesz polegać na statycznej kolejności podczas zapytań.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. nodejs mongodb identyfikator obiektu do string

  2. Szukaj w wielu kolekcjach w MongoDB

  3. MongoDB + nodejs :jak odpytywać pola ISODate?

  4. Percona Live Frankfurt 2018 - Podsumowanie wydarzenia i nasze sesje

  5. 3 sposoby na porzucenie indeksu w MongoDB