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

MongoDB $lookup pada dokumen bersarang

dalam hal ini diperlukan permainan yang bagus dengan $unwind dan $project dalam kerangka agregasi

silakan lihat di bawah ini:

db.alumni.aggregate([
    {$match: {_id: 'john'}},
    {$unwind:"$items"},
    {$unwind:"$items.items"},
    {$lookup: {
        from: 'schools', 
        localField: 'items.items.school', 
        foreignField: '_id', 
        as: 'schoolInfo'}},
    {$unwind:"$schoolInfo"},
    {$project:{
        "_id":1,
        "items":[{
            "name":"$items.name",
            "items":[{
            "school":"$schoolInfo._id"    ,
            "grad":"$items.items.grad"    ,
            "schoolInfo":"$schoolInfo"
            }]
        }]            
    }}
]).pretty()

untuk melihat cara kerjanya - coba hapus tahapan agregasi dari kueri dan periksa struktur dokumen.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Cara memfilter berdasarkan rentang bulan dan tahun di Mongodb

  2. Bagaimana cara mereferensikan skema lain dalam skema Mongoose saya?

  3. Temukan dokumen dengan array yang tidak berisi dokumen dengan nilai bidang tertentu di MongoDB

  4. Meminta MongoDB GridFS?

  5. Bagaimana cara terhubung ke instance MongoDB eksternal di Meteor?