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

Chỉ truy vấn tài liệu con và chỉ trả lại tài liệu con so khớp

Truy vấn $ in in find được thiết kế để trả về tài liệu thay vì tài liệu con. Trong trường hợp của bạn, mongoDB đã cung cấp khung tổng hợp. Điều này sẽ giúp bạn lọc các tài liệu phụ.

Đối với mongoDB <=3.0.x

db.collection.aggregate(
  { $project: { Brand: 1}},
  { $unwind: '$Brand'},
  { $match: { "Brand.name" : { $in : ["Reebok", "Adidas"]}}},
  { $group: { _id: '$_id', Brand: {$push : '$Brand' }}}
)

MongoDB 3.2 cách

db.collection.aggregate([
   {
      $project: {
         Brand: {
            $filter: {
               input: "$Brand",
               as: "Brand",
               cond: { "$$Brand.name": { $in : ["Reebok", "Adidas"]}}
            }
         }
      }
   }
])


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Làm cách nào để kiểm tra xem một trường mảng có phải là một phần của một mảng khác trong MongoDB hay không?

  2. Phân trang hiệu quả trong MongoDB bằng cách sử dụng mgo.v2 và MongoDB> 4.2

  3. Hiểu các tùy chọn hết thời gian chờ của ứng dụng khách MongoDB

  4. Không thể kết nối Robomongo bằng hình ảnh docker MongoDB

  5. TransientTransactionError trong Mongoose (hoặc MongoDB) là gì?