我试图批量删除评论作为文档而不是模型,因为我想稍后使用预挂钩删除方法。
以下命令查找满足查询的多个文档,并尝试逐个删除每个注释。删除所有内容之后,如果在它应该捕获它的阶段中有任何错误,则调用next()函数。
Comment.find({'moment': this._id})
.then(((comments) => Promise.each(comments, (comment) => comment.remove()))
.then(next())
.catch(next()));
然而,这给了我一个错误,而不是删除评论
“TypeError :(中间值).then不是函数”
答案 0 :(得分:0)
试试这个
.then(() => next())
.catch(() => next()));
或者这个(有错误处理)
.then(() => next())
.catch(next);
答案 1 :(得分:0)
我决定使用原生承诺,我可以使用Promise.all
来实现这一目标Comment.find({'moment': this._id})
.then((comments) => {
Promise.all(comments.forEach((comment) => comment.remove()))
.then(next());
});