Cuando intento actualizar solo "título", funciona bien, pero si intento actualizar el objeto anidado en la matriz, no funciona.
Datos: Datos
Laboral:
const restaurant = await Restaurant.update( {_id: '60e6828e4992a2979fa0ba3e'}, {$set: {title: "Hello}}, );No funciona:
const restaurant = await Restaurant.update( {_id: '60e6828e4992a2979fa0ba3e', 'grades.grade': 85}, {$set: {'grades.$.grade': 0}}, );Demostración: https://mongoplayground.net/p/caFBz-lx8dQ
Usar $[]
El operador posicional filtrado $[] identifica los elementos de la matriz que coinciden con las condiciones de arrayFilters para una operación de actualización
db.collection.update( {}, { $set: { "grades.$[elem].grade": 0 }}, { arrayFilters: [ {"elem.grade": 85 } ]} )