MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Làm cách nào để thực hiện tìm kiếm có điều kiện trong pymongo?

Bạn có thể sử dụng cond trong $project hoặc $expr trong $match giai đoạn như:

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

Tại đây, trước tiên, bạn kiểm tra xem trường audiPrice có phải không, sau đó thực hiện đối sánh trên khóa đó với khóa khác trên khóa giá.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Cách sắp xếp một mảng trong một bộ sưu tập

  2. Cách nhóm theo nhiều cột và nhiều giá trị trong mongodb

  3. Đăng dữ liệu biểu mẫu lên mảng tài liệu MongoDB hiện có bằng cách sử dụng Express và Mongoose

  4. Không thể kết nối với MongoDB Atlas (queryTxt ETIMEOUT)

  5. Cách kết hợp việc sử dụng toán tử all và icontains cho mongoengine