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

Sử dụng $ cond trong $ match trong tổng hợp mongoDB

Bạn chỉ cần nhập lại logic một chút.

{ $match: { $expr: {
    $or: [
        { $and: [
            { $eq: [ "$id", 1206 ] },
            { $eq: [ "$field1", 0 ] }
        ]},
        { $and: [
            { $ne: [ "$id", 1206 ] },
            { $eq: [ "$field1", 1545001200 ] }
        ]},
    ],
}}}

Về mặt logic, hai câu lệnh tương đương nhau:

  • Khớp tài liệu bằng cách chọn field1 == 0 if id == 1206 , nếu không, hãy khớp với tài liệu bằng cách chọn field1 == 1545001200
  • Khớp tài liệu nếu một trong hai (id == 1206field1 == 0 ) hoặc (id != 1206field1 == 1545001200 ).


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. 3 cách để trả lại giá trị khác biệt trong MongoDB

  2. MongoDB - dải các ký tự không phải số trong trường

  3. Làm cách nào để chạy MongoDB dưới dạng dịch vụ Windows?

  4. Xác định xem bản ghi có phải là bản ghi mới trong lệnh gọi lại lưu trước hay không

  5. Tôi đang làm gì sai với bản cập nhật $ set và $ inc