根据猫鼬的需要指定字段Foo独占或字段栏

时间:2014-04-29 17:29:27

标签: node.js mongodb mongoose

我的架构包含属性foobar。保存文档时,只允许存在一个或另一个。不是,不是两者。

var schema = mongoose.Schema({
    foo: { type: ObjectId, ref: 'Foo' },
    bar: { type: ObjectId, ref: 'Bar'}
  });

我有没有办法以这种'独占或'方式标记所需的字段,还是我需要自己实现这个保存逻辑?

1 个答案:

答案 0 :(得分:1)

使用mongoose Schema Pre-save事件在mongoose执行实际保存之前测试是否存在一个或另一个。

schema.pre('save', function (next) {
  // do stuff
  next();
});

http://mongoosejs.com/docs/middleware.html