2019年8月8日(Mongooseバージョン5.6.9)の時点で、設定するプロパティは「passRawResult」ではなく「rawResult」です:
M.findOneAndUpdate({}, obj, {new: true, upsert: true, rawResult:true}, function(err, d) {
if(err) console.log(err);
console.log(d);
});
出力:
{ lastErrorObject:
{ n: 1,
updatedExisting: false,
upserted: 5d4befa6b44b48c3f2d21c75 },
value: { _id: 5d4befa6b44b48c3f2d21c75, rating: 4, review: 'QQQ' },
ok: 1 }
結果は、コールバックの3番目のパラメーターではなく、2番目のパラメーターとして返されることにも注意してください。ドキュメントはd.valueで取得できます。