From 326c28a11d476c5b942e83ed5ae2fdd76130f088 Mon Sep 17 00:00:00 2001 From: Trevor Buckner Date: Mon, 12 Dec 2022 09:59:04 -0500 Subject: [PATCH] Change findOneAndUpdate to FindOne and Save Setting an object property to `undefined` should tell Mongoose to remove that property (for example, remove the googleId from a brew). That doesn't seem to work with `findOneAndUpdate` however; the `undefined` property remains after the update. Switching back to `save()` to make this work again. --- server/homebrew.api.js | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/server/homebrew.api.js b/server/homebrew.api.js index 57b009b8c..572321ef2 100644 --- a/server/homebrew.api.js +++ b/server/homebrew.api.js @@ -247,9 +247,10 @@ const updateBrew = async (req, res)=>{ brew = saved?.toObject(); } else { // if the brew does have a stub id, update it using the stub id as the key. - saved = await HomebrewModel.findOneAndUpdate({ _id: brew._id }, brew, { - returnOriginal : false - }).catch(saveError); + brew = _.assign(await HomebrewModel.findOne({ _id: brew._id }), brew); + saved = await brew.save() + .catch(saveError); + }); } if(!saved) return; // Call and wait for afterSave to complete