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

Jak mogę przeprowadzić wyszukiwanie warunkowe w pymongo?

Możesz użyć cond w $project lub $expr w $match etap jako:

collectionName.aggregate([
  {
    $match: {
      $expr: {
        $cond: {
          if: {
            $gt: [
              "$audiPrice",
              null
            ]
          },
          then: {
            $and: [
              {
                $gte: [
                  "$audiPrice",
                  price * 0.25
                ]
              },
              {
                $lte: [
                  "$audiPrice",
                  price * 1.75
                ]
              }
            ]
          },
          else: {
            $and: [
              {
                $gte: [
                  "$price",
                  price * 0.25
                ]
              },
              {
                $lte: [
                  "$price",
                  price * 1.75
                ]
              }
            ]
          }
        }
      }
    }
  }
])

Tutaj najpierw sprawdzasz, czy pole audiPrice nie jest puste, a następnie przeprowadzasz dopasowanie na tym kluczu, a następnie na kluczu ceny.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Jak ustawić mongod.conf bind_ip z wieloma adresami ip?

  2. Mongodump otrzymuje puste foldery

  3. Dokumentacja Mongomappera?

  4. Jak skonfigurować AppArmor dla zestawów replik MongoDB?

  5. Czy istnieje odpowiednik PyMongo dla Pythona 3.2?