为了账号安全,请及时绑定邮箱和手机立即绑定

mongoose 操作数组

mongoose 操作数组

哔哔one 2018-08-10 13:38:31
router.delete('/api/comment', (req, res, next) => {     const { _id, postID } = req.body;     commentModel.remove({ _id }, (err, doc) => {         if (err) {             res.json({ code: 1, msg: err });         } else {             // 更新文章的comments列表             postModel.update({ _id: postID }, { $pull: { comments: _id } }, (err, postDoc) => {                 res.json({ code: 0, data: doc });             });         }     }); });文章里面存了一个评论_id组成的数组comments删除评论成功,但是更新文章的comments列表失败$push都是可以的,不知道为什么$pull不行?没有报错,返回{ nModified: 0, ok: 1 }
查看完整描述

2 回答

?
温温酱

TA贡献1752条经验 获得超4个赞

你可能需要ObjectId(_id);

router.delete('/api/comment', (req, res, next) => {
    const { _id, postID } = req.body;
    commentModel.remove({ _id }, (err, doc) => {
        if (err) {
            res.json({ code: 1, msg: err });
        } else {
            // 更新文章的comments列表
            postModel.update({ Object(_id): postID }, { $pull: { comments: _id } }, (err, postDoc) => {
                res.json({ code: 0, data: doc });
            });
        }
    });
});

直觉,你都没贴报错还有返回,就只能这样了


查看完整回答
反对 回复 2018-08-12
?
冉冉说

TA贡献1877条经验 获得超1个赞

打下报错信息。

查看完整回答
反对 回复 2018-08-12
  • 2 回答
  • 0 关注
  • 2205 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信