更新mongodb集合记录

时间:2014-11-16 11:23:48

标签: jquery node.js mongodb

本周末我正在玩node.js和mongo.db。目前我正在尝试更新集合中的记录。

当调用archiveuser函数时,我得到了一个“无法加载资源:net :: ERR_EMPTY_RESPONSE'在developertools控制台中。我在archiveuser函数中使用了类似的代码段来删除用户,这非常有效。我无法理解为什么现在失败了。

我已编写此代码段以在users.js中执行更新:

router.put('/updateuser/:id', function(req, res) {
    var db = req.db;
    var userToUpdate = req.params.id;

    db.userlist.update({"_id" : userToUpdate}, 
        {
            $set:{'archived':'1'}
        })
});

从此函数中调用global.js:

function archiveUser(event) {
    $.ajax({
        type: 'UPDATE',
        url: '/users/updateuser/' + $(this).attr('rel')
    }).done(function( response ) {

        // Check for a successful (blank) response
        if (response.msg === '') {
            alert('Success');
        }
        else {
            alert('Error: ' + response.msg);
        }
    });
};

如果我使用php和mysql,我会运行更新查询,类似于此。

UPDATE userlist
SET archived='1'
WHERE id=$usertodelete;

非常感谢任何帮助

1 个答案:

答案 0 :(得分:0)

正如@Philipp所指出的那样,代码很好并且按预期工作。

我遇到的问题是我没有意识到每次更改node.js js文件(routes,app.js等)都需要重新启动节点服务器

我已经安装了nodemon(https://github.com/remy/nodemon),它会在检测到更改时重新启动服务器。结合实时重新加载Web浏览器已经解决了这个问题。