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

Gunakan $lookup dalam array objek

Anda dapat melakukannya dengan sesuatu seperti ini di MongoDB 3.2 dengan asumsi koleksi yang memiliki detailnya adalah video.details dan bidang tempat Anda bergabung adalah _id :

[  
   {  
      $unwind:"$videos"
   },
   {  
      $lookup:{  
         from:"video.details",
         localField:"videos.videoId",
         foreignField:"_id",
         as:"details"
      }
   },
   {  
      $group:{  
         _id:"$_id",
         name:{  
            $first:"$name"
         },
         videos:{  
            $push:{  
               videoId:"$videos.videoId",
               videoDetails:"$details"
            }
         }
      }
   }
]

Jadi pada dasarnya Anda melakukan pencarian tetapi kemudian dalam tahap $group buat output seperti yang Anda suka. Anda mungkin tidak memerlukan tahap $unwind pertama jika Anda menggunakan MongoDB 3.3.4 atau lebih tinggi (sebelumnya $lookup pada array tidak diizinkan).




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Kesalahan koneksi Mongodb meskipun buruh pelabuhan di springboot

  2. Mongoose .save() mengembalikan objek kesalahan kosong, tidak disimpan dalam DB

  3. Panggil fungsi tersimpan Mongodb dari PHP7

  4. Pandas DatetimeIndex dari MongoDB ISODate

  5. Bagaimana memulai mongo db di windows