我试图在我的路由器中调整我的.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);
});
});
该方法基本上工作正常,但我无法找到一种方法来始终显示结果而无需刷新整个浏览器。 我在本地机器上工作。
答案 0 :(得分:0)
您应该尝试使用{new: true}
,因为这样您的查询将返回修改后的对象。
试试:
Favorites.update({ postedBy: userId }, { $pull: { dishes: dishObject } }, {new: true}, function (err, favorite) {
if (err) next(err);
res.json(favorite);
});
});