Fra og med Mongoose 4+, glem ikke at indstille nyt:sandt sammen med upsert eller du får det gamle dokument som en returværdi, ikke den opdaterede.
Dette er ret vanskeligt, især når anmodningen opretter et dokument, som hvis du ikke angiver nyt:sandt, du modtager et null-dokument (der var ikke noget eksisterende dokument), men ingen fejl.
var myObj = ...;
collection.findOneAndUpdate(
{uniqueAttr: myObj.uniqueAttr},
myObj,
{upsert: true, new: true},
function(...) {...}