sql >> データベース >  >> NoSQL >> MongoDB

pymongoで条件付き検索を行うにはどうすればよいですか?

    condを使用できます $projectで または$expr $matchで ステージ:

    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
                    ]
                  }
                ]
              }
            }
          }
        }
      }
    ])
    

    ここでは、最初にフィールドaudiPriceがnullでないかどうかを確認してから、そのキーで一致を実行し、それ以外の場合は価格キーで一致を実行します。




    1. 日付範囲に対するMongoDb固有の制約

    2. Redisのソート済みセットで部分的なキー名を使用して値を検索する

    3. サーバー側のタイムスタンプをスコアとしてRedisでソートされたセットに保存するにはどうすればよいですか?

    4. パターンが一致するioredisキー