我的架构包含属性foo
和bar
。保存文档时,只允许存在一个或另一个。不是,不是两者。
var schema = mongoose.Schema({
foo: { type: ObjectId, ref: 'Foo' },
bar: { type: ObjectId, ref: 'Bar'}
});
我有没有办法以这种'独占或'方式标记所需的字段,还是我需要自己实现这个保存逻辑?
答案 0 :(得分:1)
使用mongoose Schema Pre-save事件在mongoose执行实际保存之前测试是否存在一个或另一个。
schema.pre('save', function (next) {
// do stuff
next();
});