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

Dopasowanie tablicy mongodb

Interesujące...Problem polega na tym, że operatory $in i $or są stosowane do elementów tablicy, którą porównujesz przeciwko każdy dokument w kolekcji, a nie elementy tablic w dokumentach. Podsumowując swoje pytanie:chcesz, aby było zgodne, jeśli którykolwiek z dokumentów w kolekcji jest podzbiorem przekazanej tablicy. Nie mogę wymyślić sposobu, aby to zrobić, chyba że zamienisz dane wejściowe i wyjściowe. Mam na myśli to, że...Weźmy twoje pierwsze dane wejściowe:

db.test.find( {a: [1,2,3,4]} );

Rozważ umieszczenie tego w tymczasowej kolekcji say,temp jako:

db.temp.save( {a: [1,2,3,4]} );

Teraz przeprowadź iterację po każdym dokumencie w kolekcji testów i „znajdź” go w temp, z operatorem $all, aby upewnić się, że jest on całkowicie zawarty, tj. zrób coś takiego:

foreach(doc in test)
{ db.temp.find( { a: { $all: doc.a } } ); }


To zdecydowanie obejście! Nie jestem pewien, czy brakuje mi innego operatora, który mógłby wykonać tę pracę.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. W jaki sposób Express wie, której ścieżki routera użyć, gdy wiele ścieżek jest zgodnych?

  2. Logowanie za pomocą winston-mongodb i express-winston

  3. MongoDB- Wstaw, jeśli nie istnieje, w przeciwnym razie pomiń

  4. Jak usunąć kolekcję z bazy danych w MongoDB za pomocą sterownika Mongo DB JAVA?

  5. jak zignorować duplikaty dokumentów podczas korzystania z insertMany w bibliotece php mongodb?