sql >> Base de Datos >  >> NoSQL >> MongoDB

Agregación de MongoDB:agregue un campo desde un documento incrustado a través de una ruta de campo dinámica

Usa este:

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

Zona de juegos de Mongo