保存前用整个文档替换id

时间:2018-08-05 13:13:23

标签: mongodb mongoose mongoose-schema

我有一个具有ObjectId属性的模型,恰好是一个数字。它被称为设备,而我想要做的是当要保存此类文档时,我想从mongo中检索设备文档并用它替换设备属性。 这是模式:

var DataSchema = new Schema({
  device: Device.schema
});

并且在创建对象时,设备包含id(它是一个数字):

{device: 1}

然后我查找设备并用预验证中间件中的适当对象替换:

DataSchema.pre('validate', function(next) {
  var data = this;
  Device.findById(data.device, function(err, dev) {
    if (err) {
      next(err);
    } else {
      data.device = dev;
    }
    next();
  });
});

但是由于某些原因未定义data.device。 为什么会这样?

0 个答案:

没有答案