MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

MongoDb:agregasi $lookup dengan penyaringan atas dokumen asing

Anda dapat menggunakan $filter operator agregasi array pada pets array yang dihasilkan oleh $lookup . Anda panggung.

Untuk mengeluarkan hewan peliharaan yang berusia lebih dari 1 tahun, gunakan

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 ] } 
      } 
    } 
  } 
} 
]);

Untuk menampilkan hewan peliharaan tertua cukup ganti cond bidang $filter operator di pipeline agregasi sebelumnya dengan

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



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Tonton pembuatan dokumen dengan MongoDB Streams

  2. MongoDB $concatArrays

  3. Driver MongoDB C# dan ObjectIds yang dihasilkan server

  4. Pertanyaan tentang safe=Parameter benar untuk operasi pembaruan mongodb

  5. Bagaimana menghubungkan Mongodb Atlas ke Spring