node.js - 无法更新 nodejs/mongodb 中的用户记录
问题描述
我正在尝试从 ionic 3 应用程序更新 mongodb 中的用户模型,但它不起作用我得到的只是
请求方法:选项
状态码:204 无内容
客户端代码:
return this.http.put(this.serveBaseUrl+'/user/update/'+params._id, params).pipe(map((res : any) => {
console.log('here is',res)
return res;
}))
我的服务器端代码是
router.put('/update/:userId',controller.update_a_userModel);
Controller
User.findOneAndUpdate({ _id: req.params.userId }, req.body, { new: true }, function (err, users) {
if (err)
res.send(req.params.userId);
res.json(req.params.userId);
});
作为回应,我得到一个空值,用户记录保持不变。
任何帮助,将不胜感激。
解决方案
我相信您只是将 JSON 发送到您的后端。试试下面:
User.findOneAndUpdate({ _id: req.params.userId }, {$set:req.body}, { new: true }, function (err, users) {
if (err)
res.send(req.params.userId);
res.json(req.params.userId);
});
推荐阅读
- gradle - “./gradlew {package}-rpm”之后会发生什么
- sql - 部分键可能为 NULL 的 SQL 查询
- python - Python Regex:捕获重叠部分
- reactjs - 如何为依赖于(单独)登录类中的状态组件“isAuth”的组件构建 PrivateRoute?
- hyperledger-fabric - 在 Hyperledger Fabric 网络上为新通道创建验证通道创建事务时出错
- asp.net - 未知客户端或客户端未启用
- java - JPA java.lang.IllegalArgumentException:未找到名称的 NamedQuery
- python - 将 Mac 的 python 包重置为默认值
- python - optimize_execution() 接受 1 个位置参数,但给出了 2 个
- python - 从其他脚本访问 TKinter 小部件