使用Mongoose和Nodejs中的中间件更新last_edit

时间:2013-02-08 14:22:44

标签: node.js mongodb mongoose

让我们考虑这个架构:

var elementSchema = new Schema({
  name: String,
  last_edit: { type: Date, default: Date.now }
});

现在,每次我更新任何元素。name我希望mongoose直接更新last_edit时间。

Mongoose Middleware docs中说:

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

我可能会更新它而不是// do stuff,但是不会传递要保存的文档, 任何提示?

1 个答案:

答案 0 :(得分:3)

'save'中间件中,this是对正在保存的文档的引用:

schema.pre('save', function (next) {
  this.last_edit = Date.now();
  next();
});