Estoy tratando de actualizar el objeto anidado usando mangosta. Estoy tratando de actualizar la "fecha de recordatorio" solo y mantener la "hora". Puedo actualizar la "fecha de recordar"; sin embargo, borra mi propiedad "recordar la hora".
He probado lo siguiente y ninguno de ellos funciona
Model.updateMany(req.query, { remindTime: { date: "2021-09-28" } }) Model.updateMany(req.query, { remindTime: $set:{ { date: "2021-09-28" } } } )
Datos de la base de datos que estoy actualizando
{ "_id": { "$oid": "614d3cedfb2600340fdb28f9" }, "date": "2021-09-23", "title": "First test", "description": "not working yet", "remindTime": { "date": "2021-09-28", "time": "01:20 am" }, "isComplete": false, }
Por favor, intente esto:
Model.updateMany(req.query, { "remindTime.date": "2021-09-28"})
Puedes usar la notación de puntos :
De acuerdo con los documentos:
MongoDB usa la notación de puntos para acceder a los elementos de una matriz y para acceder a los campos de un documento incrustado.
Para especificar o acceder a un campo de un documento incrustado con notación de puntos, concatene el nombre del documento incrustado con el punto (.) y el nombre del campo, y escríbalo entre comillas:
"<embedded document>.<field>"
Entonces la consulta:
Model.updateMany(req.query, { "$set": { "remindTime.date": "new date" } })
Ejemplo aquí