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

Truy vấn MongoDB với $ và và Nhiều $ hoặc

tài liệu không nói rằng điều này là không thể. Nó chỉ nói

Không thể tạo truy vấn này bằng phép toán AND ngầm định vì nó sử dụng toán tử $ hoặc nhiều lần.

điều này có nghĩa là điều này sẽ hoạt động:

db.inventory.find( {
    $and : [
        { $or : [ { price : 0.99 }, { price : 1.99 } ] },
        { $or : [ { sale : true }, { qty : { $lt : 20 } } ] }
    ]
} )

nhưng điều này sẽ không xảy ra, bởi vì nó là một ẩn ý $and với hai $or

db.inventory.find({
        { $or : [ { price : 0.99 }, { price : 1.99 } ] },
        { $or : [ { sale : true }, { qty : { $lt : 20 } } ] }
})

thử trực tuyến:mongoplayground.net/p/gL_0gKzGA-u

Đây là một trường hợp làm việc với $and ngầm định :

db.inventory.find({ price: { $ne: 1.99, $exists: true } })

Tôi đoán vấn đề bạn đang gặp phải là không có tài liệu nào phù hợp với yêu cầu của bạn trong bộ sưu tập của bạn




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB Regex, Chỉ mục &Hiệu suất

  2. Cách tạo id đối tượng duy nhất trong mongodb

  3. truy vấn sql tới mongodb?

  4. Đưa MongoDB vào sản xuất

  5. Nhà điều hành đường ống tổng hợp MongoDB $ min