MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Как да изключите от резултатите от търсенето документи с полета, които не присъстват в заявката?

Трябва да призная, че не познавам нормален метод за запитване, чрез който да разреша този проблем. Има само един начин, който знам и това е да използвам сравнение на обекти на MongoDB. За да направите това, трябва да промените структурата си, за да бъде нещо от типа на:

{
    ps: [a,b]
}

или:

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

И тогава бихте направили заявка като:

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

или:

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

Има един непосредствен проблем с това обаче. Зависи от ключовия ред, което означава, че ако вашият a и b всъщност са обратното в друг документ, който няма да съвпадне. Така че ще трябва да се уверите, че ви е грижа за реда, когато запазвате, ако направите това.

Надявам се да помогне,



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. разбират MongoDB кеш система

  2. Как MongoDB дава възможност за машинно обучение

  3. MongoDB $lte оператор на конвейера за агрегация

  4. MongoDB $ съществува

  5. проблем с връзката mongo - ruby