500 内部服务器错误:无法更新猫鼬中的用户
500 Internal Server Error: cannot update user in mongoose
我正在尝试运行一个 put 函数来更新我的 mongoDB 中的用户,但我收到 500 内部服务错误。我正在使用角度全栈生成器
我在控制器中使用此资源:
update(User) {
User.$update();
}
以下是我在后端调用的函数,以尝试放置一切似乎都正常工作,除了当我调用 saveUpdate 时,这似乎触发了 500 错误。
function handleError(res, statusCode) {
statusCode = statusCode || 500;
return function(err) {
res.status(statusCode).send(err);
};
}
// this seems to be the function giving me the problem.
function saveUpdates(updates) {
return function(entity) {
var updated = _.merge(entity, updates);
return updated.saveAsync()
.spread(updated => {
return updated;
});
};
}
function respondWithResult(res, statusCode) {
statusCode = statusCode || 200;
return function(entity) {
if (entity) {
res.status(statusCode).json(entity);
}
};
}
function handleEntityNotFound(res) {
return function(entity) {
if (!entity) {
res.status(404).end();
return null;
}
return entity;
};
}
export function updateUser(req, res) {
if (req.body._id) {
delete req.body._id;
}
User.findByIdAndUpdate(req.params.id)
.then(handleEntityNotFound(res))
.then(saveUpdates(req.body))
.then(respondWithResult(res))
.catch(handleError(res));
}
我尝试遵循此页面上针对角度全堆栈的建议,例如将._merge更改为._extend无济于事。
我回答了我的问题:
角度满栈使用 lodash,所以如果你想使用这样的._merge发出 put 请求:
function saveUpdates(updates) {
return function(entity) {
var updated = _.merge(entity, updates);
return updated.saveAsync()
.spread(updated => {
return updated;
});
};
}
然后,您需要将 Lodash 导入由 Angular-Full Stack Yeoman 生成器设置的 User.contoller 中。
import _ from 'lodash';
相关文章:
- d3基于用户选择动态更新节点
- Javascript没有't更新DOM,直到用户交互
- 下一个/上一个锚链接,如何在用户滚动时更新下一个/上一个链接
- 如果在线检查期间发生电源故障,我们如何更新用户再次登录门户时的剩余时间
- 更新:用户错误-TYPO!!grunt contrib咖啡错误查找文件&写入目的地
- 如何在用户更新AngularJs中的控制器时刷新$state
- 更新用户's使用PHP或JavaScript链接
- 在谷歌地图上显示用户当前位置并更新
- 实现已验证用户更新状态的最佳方式,作为对系统中已更改状态的反应.(ASP.NET MVC网站)
- 如何通过向用户推送模式引用来更新用户对象's数组字段
- 在jQuery中:如何在用户展开窗口时更新函数
- jQueryAjax SQL-如果我在多个用户上单击编辑,则Ajax会更新我单击的所有内容.不是最后一个点击
- 在用户更新标签后渲染Highcharts
- Meteor(0.9.0.1):使用Helper和自动表单为多个用户更新记录
- Ionic 2 Express呼叫不响应用户更新功能
- 基于用户's
- 如何使两个不同的范围滑块输入显示相同的值,每当用户更新其中一个
- 如何让grunt用户更新JS来引用我们的图像
- Meteor中的用户更新页面
- 为用户更新Stripe上的主信用卡