MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

MongoDB-Aggregation:Fügen Sie ein Feld aus einem eingebetteten Dokument über einen dynamischen Feldpfad hinzu

Verwenden Sie dieses hier:

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

Mongo-Spielplatz