By default findOneAndUpdate returns the original document. If you want it to return the modified document pass an options object { new: true }
to the function:
Cat.findOneAndUpdate({ age: 17 }, { $set: { name: "Naomi" } }, { new: true }, function(err, doc) {
});