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

Dopasowanie pola tablicy, które zawiera dowolną kombinację podanej tablicy w MongoDB

Możesz to zrobić, łącząc wiele operatorów:

db.test.find({tags: {$not: {$elemMatch: {$nin: ['Rad', 'Cool']}}}})

$elemMatch z $nin jest znalezienie dokumentów, w których pojedynczy tags element nie jest ani 'Rad', ani 'Cool', a nadrzędny $not odwraca dopasowanie, aby zwrócić wszystkie dokumenty, w których nie pasowały żadne elementy.

Jednak zwróci to również dokumenty, w których tags brakuje lub nie zawiera żadnych elementów. Aby je wykluczyć, musisz dodać kwalifikator, który zapewni tags ma co najmniej jeden element:

db.test.find({
    tags: {$not: {$elemMatch: {$nin: ['Rad', 'Cool']}}},
    'tags.0': {$exists: true}
})



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Jak przełączyć pole logiczne w jednym dokumencie za pomocą operacji atomowej?

  2. Zestaw replik MongoDB z prostym uwierzytelnianiem hasłem

  3. Jak znaleźć losowy rekord w Mongoose?

  4. 9 nowych funkcji MongoDB – musisz nauczyć się opanować w MongoDB

  5. Metoda MongoDB Date()