mongoose模式中的常量属性值
我有a
属性总是等于1的模式。我find了一个解决scheme,但我不喜欢它:
var schema = new Schema({ a: Number }); schema.pre('save', function(){ this.a = 1; });
你能告诉我是否有更好的方法来做到这一点? 例如:
var schema = new Schema({ a: 1 });
如何使用默认值,它达到你想要的?
var schema = new Schema({ a: {type: Number, default: 1} });
如果你想强制它, pre
版是最好的select。
另一种方法是使用虚拟财产 。 虚拟文件是您可以获取和设置的文档属性,但不会保留到MongoDB。 相反,您可以指定一个getter函数,每次访问属性时都会调用getter函数:
schema.virtual('a').get(function () { return 1; });
现在,每个schema
文档都有一个等于1
的属性a
。 但请注意,因为虚拟不会被持续,所以你不能查询它们。