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

Agregar campo de elemento de matriz en la agregación de MongoDB

Puede usar $let con $arrayElemAt para definir una variable temporal y luego hacer referencia a ella para obtener text campo:

db.collection.aggregate([
    {
        $addFields: {
            text1: {
                $let: {
                    vars: {
                        first: {
                            $arrayElemAt: [ "$arr", 0 ]
                        }
                    },
                    in: "$$first.text"
                }
            }
        }
    }
])