Mongoose Express .delete()。update()并不总是返回更新的视图

时间:2016-07-05 17:41:04

标签: node.js mongodb express mongoose

我试图在我的路由器中调整我的.delete()方法,所以当我删除一个对象(在这种情况下最喜欢)时,结果立即显示。有时结果将在发送resquest时显示,但必须刷新浏览器以查看结果。

方法如下:

favoriteRouter.route('/:dishObjectId')

.delete(Verify.verifyOrdinaryUser, function (req, res, next) {
var dishObjectId = req.params.dishObjectId
var userId = req.decoded._id;
Favorites.update({ postedBy: userId }, { $pull: { dishes: dishObjectId } },
    function (err, favorite) {
        if (err) next(err);
        res.json(favorite);
    });
});

该方法基本上工作正常,但我无法找到一种方法来始终显示结果而无需刷新整个浏览器。 我在本地机器上工作。

1 个答案:

答案 0 :(得分:0)

您应该尝试使用{new: true},因为这样您的查询将返回修改后的对象。 试试:

Favorites.update({ postedBy: userId }, { $pull: { dishes: dishObject } }, {new: true}, function (err, favorite) {
    if (err) next(err);
    res.json(favorite);
    });
});