У меня есть модель с виртуальным свойством, которое указывает на другую коллекцию.При запросе этой модели через класс модели и заполнении связанных документов виртуальное свойство правильно содержит связанные документы.Однако заполнение самого документа не обновляет виртуальное свойство.Виртуальное свойство имеет значение null, а атрибут _doc
содержит заполненные документы.
class ChimeraModel extends mongoose.Model {
/**
* @async
* Compiles and registers the defined ChimeraModel into a mongoose Model by:
* 1.) Populating the ChimeraModel with all related fields, validators, associations, etc.
* 2.) Unregistering this model from mongoose if it has already been registered
* 3.) Registering a new mongoose model from details of the ChimeraModel
* @returns {Promise<mongoose.Model>} - The newly registered mongoose Model
*/
async compile () {
mongoose.set('debug', true);
const thing = await this.constructor.findById(this.id).populate('chimeraFields').exec();
const thing2 = await this.populate('chimeraFields').execPopulate();
console.log(thing.chimeraFields); // Array(3) [model, model, model]
console.log(thing2.chimeraFields); // null
console.log(thing2._doc.chimeraFiels); // Array(3) [model, model, model]
}
}