1

我正在向数据库中添加一系列文档。这些文档中的每一个都在预保存挂钩中进行了验证。我希望 Mongoose 忽略保存未通过验证的特定文档而不会引发任何错误,以便可以保存通过验证的其余文档。这是一个示例代码:

schema.pre('save', function (next) {
  // Validate something.
  const isValidated = ...;

  if (!isValidated) {
    // Skip saving document silently!
  }

  next();
});
4

1 回答 1

0

我们可以在 save pre-hook 中使用 Mongoose 的 inNew 方法。这是一个适合我的解决方案:

模型.ts

// Middleware that runs before saving images to DB
schema.pre('save', function (this: Image, next) {
  if (this.isNew) {
    next()
  } else {
    console.log(`Image ID - ${this._id} already exists!`);
  }
})

注意:此代码应该在您的模型文件中。

于 2021-07-03T01:00:42.163 回答