【发布时间】:2018-05-07 09:12:27
【问题描述】:
我正在尝试将 cmets 作为文档而不是模型批量删除,因为我想稍后使用 pre-hook 删除方法。
下面的命令查找多个满足查询的文档,并尝试将每个评论一一删除。全部删除后,如果在它应该捕获它的阶段有任何错误,则调用 next() 函数。
Comment.find({'moment': this._id})
.then(((comments) => Promise.each(comments, (comment) => comment.remove()))
.then(next())
.catch(next()));
但是这给了我一个错误并且没有删除评论
"TypeError: (中间值).then 不是函数"
【问题讨论】:
-
不确定是否相关,但是您应该在 find 上调用 exec 以获得完整的承诺:
comment.find({ ... }).exec()。 mongoosejs.com/docs/promises.html -
我得到 Promise.each 不是一个函数?