Hay dos formas de actualizar los datos usando mongoose.
User.updateOne({username}, {$set: {age}}) const user = await User.findById(userId) user.age = age user.save()¿Cuál es mejor y por qué?
Para el método .save() , en realidad está extrayendo datos del servidor (MongoDB) al cliente (Mongoose) y actualizando los datos en la memoria y luego aplicando la consulta en el servidor. El uso de update directa o updateOne realizará la consulta directamente en el servidor.
Así que asegúrese de usar consultas tanto como sea posible. Puede verificar manualmente haciendo console.time en ambos casos como
console.time('query') const user = await User.findById(userId) user.age = age await user.save() console.timeEnd('query')y luego haz esto
console.time('query') await User.updateOne({ _id: userId }, { $set: { age } }) console.timeEnd('query')