sql >> Databáze >  >> NoSQL >> MongoDB

Jak mohu provést podmíněné vyhledávání v pymongo?

Můžete použít cond v $project nebo $expr v $match fáze 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
                ]
              }
            ]
          }
        }
      }
    }
  }
])

Zde nejprve zkontrolujete, zda pole audiPrice není null, a poté proveďte shodu na tomto klíči s jiným klíčem ceny.




  1. Aplikační mezipaměť v.s. Úsporná mezipaměť druhé úrovně, kterou použít?

  2. Vrácení Mono<UpdateResult> se šablonou Reactive MongoDB

  3. Jak mohu spustit příkaz mongodump programově z node.js?

  4. mongod:chyba při načítání sdílených knihoven:libssl.so.10 libcrypto.so.10