Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/12.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.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
Mongodb Mongoose中批量操作的触发中间件_Mongodb_Mongoose_Middleware - Fatal编程技术网

Mongodb Mongoose中批量操作的触发中间件

Mongodb Mongoose中批量操作的触发中间件,mongodb,mongoose,middleware,Mongodb,Mongoose,Middleware,根据Mongoose的文档,中间件似乎只由模型上的操作触发,即不直接与数据库通信的操作。这意味着,如果我想触发中间件进行大规模删除,例如,我必须执行以下操作: Users.find().exec(function (err, users) { users.forEach(function (user) { user.remove(); }); }); 在Mongoose中,有没有更好的方法对仍然触发中间件的模型执行大规模操作?我问了一个类似的问题:我不确定我的解决方案是否有帮助,但这是

根据Mongoose的文档,中间件似乎只由模型上的操作触发,即不直接与数据库通信的操作。这意味着,如果我想触发中间件进行大规模删除,例如,我必须执行以下操作:

Users.find().exec(function (err, users) {
    users.forEach(function (user) { user.remove(); });
});

在Mongoose中,有没有更好的方法对仍然触发中间件的模型执行大规模操作?

我问了一个类似的问题:我不确定我的解决方案是否有帮助,但这是一种方法。我知道这不一样,但我觉得重构一些代码到NodeJS事件系统在某些情况下可能会有所帮助。例如,您可以调用一个查询来检索要删除的所有文档(或者至少只检索您关心的字段),然后调用删除操作,然后为每个文档触发DocumentRemoved事件,并让其他人侦听它。