У меня есть предварительная ловушка для заполнения необходимых полей, настроенных как schema.pre(/^find/, fn)
. Сейчас я пытаюсь заставить систему такого же типа работать с document.save()
функцией, к сожалению, она не работает ни с schema.pre('save')
, ни с schema.post('save')
Итак, это полностью заполнило бы поля:
let user = await User.findOneAndUpdate({_id: user._id}, {$set: {testFieldWithRef: someObjectId}}, {new: true});
console.log(user.testFieldWithRef) //would output populated field instead of objectId
что бы не заполнять поля моими .pre
хуками
let user = await User.findOne({_id: user._id})
user.testFieldWithRef = someObjectId
user.markModified('testFieldWithRef')
user = await user.save()
console.log(user.testFieldWithRef) //would output someObjectId