我是nodejs的新手,并试图在mongodb上编写一个更新和对象的函数。 这是我的资金,在routs / rates.js下。简而言之,只要一个名为"的按钮/链接,就会调用该函数。单击它,它应该更新这个项目收到的总数。物品是我mongodb中的一个物体。
router.put('/update_likes', function (req, res) {
var sessionId = req.sessionID;
var queryId = req.body.queryId;
var item = req.body.item;
var itemId= req.body.itemId;
var commentsNum= req.body.commentsNum;
var category= req.body.category;
var find_condition = {
'item': item,
'sessionId': req.sessionID,
'category': category,
'commentsNum': commentsNum
};
var update_callback = function (err, item_obj) {
if (err)
return console.log('An error occurred: ', err);
var update = {
$inc: { 'totalLikes': 1 },
$push: {
'likes': {
'itemId': itemID,
'sequence': item_obj.totalLikes + 1
}
}
};
Query.update(find_condition, update, function (err) {
if (err)
return console.log('[UPDATE] ', err);
});
}
Query.findOne(find_condition, update_callback);
res.sendStatus(200);});
使用上面的函数,给出了一个错误,即第15行中未定义totalLikes。我理解的是我不能在var update = {}中使用item_obj,但实际上我不知道如何解决这个问题另一种方式。
任何提示?或建议增强代码?