MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Aggregazione MongoDB:aggiungi campo da un documento incorporato tramite un percorso di campo dinamico

Usa questo:

db.collection.aggregate([
   { $set: { data: { $objectToArray: "$levelNames" } } },
   {
      $set: {
         currentLevelId: {
            $arrayElemAt: ["$data.v", { $indexOfArray: ["$data.k", "$levelName"] }]
         }
      }
   },
   { $unset: "data" }
])

Parco giochi Mongo