Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/42.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 在Mongoose中设置查找后转换挂钩的最简单方法_Node.js_Mongodb_Mongoose - Fatal编程技术网

Node.js 在Mongoose中设置查找后转换挂钩的最简单方法

Node.js 在Mongoose中设置查找后转换挂钩的最简单方法,node.js,mongodb,mongoose,Node.js,Mongodb,Mongoose,我是新来猫鼬,并已被赋予了一个项目,以扩大。我很快就掌握了pre和post钩子的概念,但是我想知道为什么对于find没有这样的钩子,而只是对于save和delete。在检索到的对象上设置一些转换的最简单方法是什么?当然,我希望在模型级别执行此操作,而不是每次检索某些对象时都执行此操作 我发现了这个插件:我认为它会很好地完成这项工作,但因为我对MongoDB还很陌生,所以我想在这里问一下,以确保我不会出现性能问题。这就是'init'钩子的作用;它在find查询加载的每个文档上执行 schema.p

我是新来猫鼬,并已被赋予了一个项目,以扩大。我很快就掌握了pre和post钩子的概念,但是我想知道为什么对于
find
没有这样的钩子,而只是对于
save
delete
。在检索到的对象上设置一些转换的最简单方法是什么?当然,我希望在模型级别执行此操作,而不是每次检索某些对象时都执行此操作


我发现了这个插件:我认为它会很好地完成这项工作,但因为我对MongoDB还很陌生,所以我想在这里问一下,以确保我不会出现性能问题。

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

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

由于某些原因,在中只简要提到了它。

init
find
之间有什么区别,什么时候我应该使用
init
作为钩子而不是
find
?这似乎不会编辑返回给
find
调用方的文档。您能否提供一个示例,在该示例中,您可以编辑文档并将结果返回到
查找