【问题标题】:Unable to update collection Mongo Express Ajax javascript无法更新集合 Mongo Express Ajax javascript
【发布时间】:2017-11-21 04:58:58
【问题描述】:

我正在尝试使用 ajax/JavaScript 更新 mongo 记录。

我已经设法添加/删除记录,但我正在为此苦苦挣扎。

目前我收到错误“UPDATE ... net::ERR_CONNECTION_RESET”

下面附上代码

users.js

router.put('/updateuser/:id', function(req, res) {
var db = req.db;
var collection = db.get('users');
var userToUpdate = req.params.id;
collection.update({ '_id' : userToUpdate }, function(err) {
    res.send((err === null) ? { msg: '' } : { msg:'error: ' + err });
});

profile.js

function functioName() {
var myquery = { "fullname": "Test" };

$.ajax({
        type: 'UPDATE',
        url: '/users/updateuser/' + userID,
        data: myquery,
        dataType: 'JSON'
}).done(function( response ) {
    if (response.msg === '') {
        alert('Success');
    }
    else {
        alert('Errors: ' + response.msg);
    }
  }).fail(function(jqXHR, error, errorThrown) {
        console.log(error);
});

然后我刚刚得到了一个调用上述函数的 onclick 事件。

就像我说的,添加和删除工作正常,所以只是更新记录的问题。

【问题讨论】:

    标签: javascript jquery node.js ajax mongodb


    【解决方案1】:

    可能你必须使用 $set 属性。例如,

    collection.update({ _id: id }, { $set: { somekey: 'somedata' }}, callback);
    

    希望对你有用。

    【讨论】:

    • 抱歉回复慢。我现在收到响应“ERR_CONNECTION_RESET”
    • router.put('/updateuser/:id', function(req, res) { var db = req.db; var collection = db.get('users'); var userToUpdate = req .params.id; collection.update({ '_id' : userToUpdate }, { $set: { 'fullname':'Tesr' } }); });
    • 这是上面更新的代码,我错过了你提到的回调,因为我不确定它应该是什么?感谢您迄今为止的帮助
    • 嗨,您仍然收到超时错误吗?你检查过你的连接吗?
    • 没有。按照您的建议更新我的代码后,该错误已替换为“ERR_CONNECTION_RESET”???
    猜你喜欢
    • 1970-01-01
    • 2020-11-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多