Estoy intentando actualizar auction.auctionDescription. Una vez enviada la solicitud, auction.auctionDescription se actualiza, pero auction.auctionImage se elimina.

await Auction.updateOne({_id: id} ,{auction: {'auctionDescription': auctionDescription}})

Mi documento se parece a lo siguiente:

_id: ObjectId("...")
user: "..."
animal: {...}
auction: {
  auctionImage: "path/to/image.jpeg"
  auctionDescription: "..."
}
0
Casper222 26 oct. 2020 a las 21:58

1 respuesta

La mejor respuesta

De la forma en que lo tiene codificado actualmente, está apuntando a la propiedad auction completa y reemplazándola con el valor {"auctionDescription": auctionDescription}, por lo que está sobrescribiendo todo el objeto existente.

Si solo está intentando actualizar una propiedad en un objeto en un documento, puede usar " notación de puntos " para apuntar a la propiedad específica en el objeto que está intentando actualizar, así:

await Auction.updateOne({_id: id}, {"auction.auctionDescription": auctionDescription})
1
mhodges 26 oct. 2020 a las 19:16