MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Agregação do MongoDB:adicione o campo de um documento incorporado por meio de um caminho de campo dinâmico


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

Mongo playground