作者热门文章
- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
在我的 Mongoose 模型中,我有一些依赖于时间的 stats
。我的想法是添加 middleware在加载模型后立即更改这些统计信息。
不幸的是,post
-Hooks 上的文档有点不够清晰。看来我可以使用这样的钩子(Hook):
schema.post('init', function(doc) {
doc.foo = 'bar';
return doc;
});
他们唯一的例子涉及 console.log
-输出。它没有以任何方式解释是否必须返回 doc
或 post-Hook 中的更改是否根本不可能(因为它不是异步的,复杂的想法可能几乎没有用处) .
如果 'init'
上的 pre
不是在加载时自动更新模型的正确方法,那么什么是?
最佳答案
这是我们在加载时更新模型的方式,异步工作:
schema.pre('init', function(next, data) {
data.property = data.property || 'someDefault';
next();
});
pre-init 比较特殊,其他的 hooks 签名略有不同,例如 pre-save:
schema.pre('save', function(next) {
this.accessed_ts = Date.now();
next();
});
关于javascript - 在 Mongoose 中加载后更改模型值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14693523/
我正在开发一个需要能够平均三个数字的 Facebook 应用程序。但是,它总是返回 0 作为答案。这是我的代码: $y = 100; $n = 250; $m = 300; $number = ($y
我只是无法弄清楚这一点,也找不到任何对我来说有意义的类似问题。我的问题:我从数据库中提取记录,并在我的网页上以每个面板 12 条的倍数显示它们。因此,我需要知道有多少个面板可以使用 JavaScrip
我是一名优秀的程序员,十分优秀!