nodejs -javascript更新对象

时间:2016-10-29 17:14:25

标签: javascript node.js mongodb

我是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,但实际上我不知道如何解决这个问题另一种方式。

任何提示?或建议增强代码?

0 个答案:

没有答案