These are chat archives for Automattic/mongoose

9th
Apr 2018
Martin Puza
@zaubara
Apr 09 2018 18:22 UTC
hey guys! any idea how i can overwrite an object with findOneAndUpdate, but keep a single old property (ie. the password hash)? or the other way arround, delete all other properties than the ones passed without overwriting the object?
the pre-findAndUpdate is - i think - synchronous and the after-findAndUpdate doesnt return the old field, so I'm kind of out of ideas ^^
Martin Puza
@zaubara
Apr 09 2018 18:43 UTC
of course pre is asynchronous and i could do: const foundPassword = await model.findOne({id: this.getUpdate().id}).select('password') and then append that to the update; but that doesn't seem very... optimal.
Kev
@lineus
Apr 09 2018 20:54 UTC
@zaubara when you call findOneAndUpdate without passing it { new: true } it should return the previous version of the document.