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

MongoDb:tổng hợp $ tra cứu với lọc các tài liệu nước ngoài

Bạn có thể sử dụng $filter toán tử tổng hợp mảng trên pets mảng được tạo bởi $lookup của bạn sân khấu.

Để xuất ra vật nuôi trên 1 năm tuổi, hãy sử dụng

db.users.aggregate([ 
{ 
  $lookup: 
  { 
    from: "pets", 
    localField: "id", 
    foreignField: "owner", 
    as: "pets" 
  } 
}, 
{
  $project: 
  {
    name: 1,
    pets: 
    { 
      $filter: 
      { 
        input: "$pets", 
        as: "pet", 
        cond: { $gte: [ "$$pet.age", 1 ] } 
      } 
    } 
  } 
} 
]);

Để xuất ra những vật nuôi cũ nhất, chỉ cần thay thế cond trường của $filter toán tử trong kênh tổng hợp trước đó với

cond: { $eq: [ "$$pet.age", { $max: "$pets.age" } ] }



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Thống kê thời gian thực:MySQL (/ Drizzle) hay MongoDB?

  2. Mock / Test Mongodb Database Node.js

  3. Nhập tệp JSON vào MongoDB với mongoimport

  4. Làm thế nào để tìm số lượng dựa trên điều kiện trong MOngoDB Aggregation?

  5. Chuyển đổi truy vấn MongoDB thành cú pháp Spring MongoDB