javascript – 在Mongoose中加载后更改模型值

前端之家收集整理的这篇文章主要介绍了javascript – 在Mongoose中加载后更改模型值前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在我的猫鼬模型中,我有一些依赖时间的统计数据.我的想法是在加载模型之后添加一个 middleware来更改这些统计信息.

不幸的是,关于Hooks的文档有些缺乏清晰度.好像我可以用这样的钩子:

schema.post('init',function(doc) {
    doc.foo = 'bar';
    return doc;
});

他们唯一的例子就是console.log输出.它不会以任何方式解释,如果文档必须被返回或者如果改变后挂钩是不可能的(因为它不是异步的,可能没有什么用的复杂的想法).

如果’init’之前的方法不是在加载时自动更新模型的正确方法,那么是什么?

解决方法

这就是我们如何更新加载模型,异步工作:
schema.pre('init',function(next,data) {
  data.property = data.property || 'someDefault';
  next();
});

pre-init是特殊的,其他钩子有一个稍微不同的签名,例如预先保存:

schema.pre('save',function(next) {
  this.accessed_ts = Date.now();
  next();
});
原文链接:https://www.f2er.com/js/151189.html

猜你在找的JavaScript相关文章