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

Jak wykluczyć z wyników wyszukiwania dokumenty z polami, których nie ma w zapytaniu?

Muszę przyznać, że nie znam żadnej normalnej metody odpytywania, za pomocą której można by rozwiązać ten problem. Znam tylko jeden sposób, a mianowicie użycie porównania obiektów MongoDBs. Aby to zrobić, zmień swoją strukturę na coś w stylu:

{
    ps: [a,b]
}

lub:

{
    ps: {p1:a,p2:b}
}

A następnie zapytasz:

db.col.find({ p: [a,b] })

lub:

db.col.find({ p: {p1:a, p2:b} })

Jest z tym jednak jeden bezpośredni problem. Zależy to od kolejności kluczy, co oznacza, że ​​jeśli Twój a i b są w rzeczywistości na odwrót w innym dokumencie, który nie będzie pasował. Musisz więc upewnić się, że dbasz o porządek podczas zapisywania, jeśli to zrobisz.

Mam nadzieję, że to pomoże,



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Jak wdrożyć MongoDB w celu zapewnienia wysokiej dostępności

  2. sortowanie agregacji mongodb

  3. MongoDB, wykonanie zapytania za pomocą wyrażenia regularnego na polach indeksowanych

  4. Wybierz rekordy pasujące do wartości concat dwóch pól w mongodb

  5. Określ wiele kryteriów dla elementów tablicy