0
我在周末玩弄node.js和mongo.db。此刻,我正在尝试更新集合中的记录。更新mongodb收集记录
当调用archiveuser函数时,我在developertools控制台中得到'加载资源失败:net :: ERR_EMPTY_RESPONSE'。我正在使用与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,它与集合中的用户ID相匹配 – tonyedwardspz
当你的ajax请求到/ users/updateuser/[id时,可能是你的路由器绑定到'/ updateuser/[id]'的问题]'? – Philipp