【发布时间】:2017-02-10 14:26:55
【问题描述】:
我正在尝试在用户单击某个按钮时增加赞成票,并将他的 Stormpath 用户 ID (req.user.href) 存储在一个数组中。
试一试:
if (newUpvoters = found_post[0].upvoters.indexOf(req.user.href) == -1) {
Problem.findByIdAndUpdate(found_post[0].id,
{ $push: { upvoters: req.user.href }}
, {$inc: { upvotes : 1 } }, function (err, post) {
if (err) return next(err);
res.json(post);
})
}
结果: 只有 upvoters 数组被正确更新。点赞数不会增加。
尝试 2:
Problem.findByIdAndUpdate(found_post[0].id,
{$inc: { upvotes : 1 } },
{ $push: { upvoters: req.user.href }}, function (err, post) {
if (err) return next(err);
res.json(post);
})
结果: 只有 Upvotes 会增加,upvoters 数组不会更新。
尝试 3:
Problem.findByIdAndUpdate(found_post[0].id,
{$set :
{$inc: { upvotes : 1 } ,
$push: { upvoters: req.user.href }}
}, function (err, post) {
if (err) return next(err);
res.json(post);
})
结果:什么都没有发生
我想做什么:更新 Upvoters 数组并将 upvotes 增加 1。
【问题讨论】:
标签: node.js mongodb mongoose mongodb-query