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

MongoDb:temukan objek yang sangat bersarang dengan $lookup

Anda dapat menemukan device bersarang menggunakan $filter, $arrayElemAt dan $let:

device: {
    $let: {
        vars: {
            building: { 
                $arrayElemAt: [ { $filter: { input: "$company_name.buildings", cond: { $eq: [ "$$this._id", "$buildingId" ] }} }, 0 ] 
                }
        },
        in: {
            $let: {
                vars: {
                    gateway: {
                        $arrayElemAt: [ { $filter: { input: "$$building.gateways", cond: { $eq: [ "$$this._id", "$gatewayId" ] }} }, 0 ] 
                    }
                },
                in: { $arrayElemAt: [ { $filter: { input: "$$gateway.devices", cond: { $eq: [ "$$this._id", "$deviceId" ] }} }, 0 ] }
            }
        }
    }
}

Solusi Lengkap




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Redirect output dari permintaan mongo ke file csv

  2. MongoDB bulkWrite()

  3. Menanyakan elemen array dengan Mongo

  4. MongoDB memperbarui bidang dalam array bersarang

  5. Mematikan koneksi database MongoDB dengan benar dari driver C# 2.1?