Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
$[<identifier>]
El operador posicional $[<identifier>] filtrado actualiza todos los elementos de la matriz que coinciden con las condiciones de filtro especificadas. Se utiliza con la arrayFilters opción de actualizar selectivamente los elementos de la matriz.
Parámetros
-
field.$[identifier]: El campo de matriz con el operador posicional filtrado. -
arrayFilters: un conjunto de condiciones de filtro que determinan qué elementos se van a actualizar.
Ejemplo (MongoDB Shell)
El siguiente ejemplo demuestra el uso del $[<identifier>] operador para actualizar elementos de matriz específicos en función de una condición.
Cree documentos de muestra
db.students.insertOne({ _id: 1, name: "Alice", grades: [ { subject: "Math", score: 85 }, { subject: "Science", score: 92 }, { subject: "History", score: 78 } ] });
Ejemplo de consulta
db.students.updateOne( { _id: 1 }, { $inc: { "grades.$[elem].score": 5 } }, { arrayFilters: [{ "elem.score": { $gte: 80 } }] } );
Salida
{
"_id" : 1,
"name" : "Alice",
"grades" : [
{ "subject" : "Math", "score" : 90 },
{ "subject" : "Science", "score" : 97 },
{ "subject" : "History", "score" : 78 }
]
}
Ejemplos de código
Para ver un ejemplo de código para usar el $[<identifier>] operador, elija la pestaña del idioma que desee usar: