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

Chọn tài liệu trong đó tất cả các giá trị trong một trường mảng tồn tại trong một mảng khác

Bạn có thể thực hiện việc này bằng cách sử dụng .aggregate()$redact nhà điều hành. Trong $cond của bạn biểu thức bạn cần sử dụng $setIsSubset để kiểm tra xem tất cả các phần tử trong mảng "sản phẩm" có nằm trong "productIds" hay không. Điều này là do bạn không thể sử dụng $in trong biểu thức điều kiện

var productIds = [139,72,73,1,6];
db.customers.aggregate([ 
    { "$redact": { 
        "$cond": [ 
            { "$setIsSubset": [ "$products", productIds ] },
            "$$KEEP",
            "$$PRUNE" 
        ] 
    }} 
])



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Chuyển đổi BSON Type ObjectId sang JSON (Lưu trữ trong Mongodb) -Java

  2. MongoDB:tổng hợp trường thêm $ dự án với giá trị tĩnh

  3. Đăng ký Bộ sưu tập Meteor.Users

  4. Trình điều khiển C # cho MongoDb:làm thế nào để sử dụng giới hạn + số lượng?

  5. Trả về số lượng bản ghi có hạn của một loại nhất định, nhưng không giới hạn số lượng bản ghi khác?