Я играю с node.js и mongo.db в эти выходные. На данный момент я пытаюсь обновить запись в коллекции.Обновление записи коллекции mongodb
Когда вызывается функция 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;
Любая помощь очень ценится
Тони
Ваш код выглядит правильно. Но только при условии, что 'userToUpdate' является правильно сформированным и действительным ObjectId. Пожалуйста, подтвердите, какая строка точно передается в 'db.userlist.update'. – Philipp
@Philipp - строка 54654563c46d365a4c60ed98, которая соответствует идентификатору пользователя в коллекции – tonyedwardspz
Возможно, проблема связана с тем, что ваш маршрутизатор связывается с '/ updateuser/[id]', в то время как ваш запрос ajax - '/ users/updateuser/[id ] '? – Philipp