在Mongoose中设置post-find转换钩子的最简单方法

时间:2015-02-05 08:47:17

标签: node.js mongodb mongoose

我是Mongoose的新手并且已经获得了一个扩展项目。我很快就掌握了前后钩子的概念,但是想知道为什么find没有这样的钩子,但只针对savedelete。在检索到的对象上设置某些转换的最简单方法是什么?当然,我想在模型级别执行此操作,而不是每次检索某些对象时都这样做。

我找到了这个插件:https://www.npmjs.com/package/mongoose-post-find我觉得它能很好地完成这项工作,但由于我是MongoDB的新手,我想在这里问一下,确保我不会在性能上最终问题。

1 个答案:

答案 0 :(得分:9)

这就是'init'钩子的用途;它是在find查询加载的每个文档上执行的。

schema.post('init', function (doc) {
    // Transform doc as needed here.  "this" is also the doc.
});

由于某些原因,它只在middleware docs中被简要提及。