在这种情况下,我有几个非模式属性(不持久化到数据库中),我希望在实例化模型时将其设置为默认值。
我没有看到为虚拟属性指定默认值的猫鼬规定方法。我能想到的最好的方法是:
MySchema.virtual('myProperty')
.set(function(propValue) {
this._myProperty = propValue;
})
.get(function() {
return this._myProperty || 'MY DEFAULT HERE';
});
但是,在我正在处理的项目中,我们在对象上调用Object.preventExtensions以帮助防止属性名称输入错误,因此上面的代码将在第一次设置虚拟属性时中断。
在虚拟属性上设置默认值的最佳方法是什么?