javascript - Mongoose 更新函数给出 null 而不是实际更新信息
问题描述
我的 .findOneAndUpdate 方法将用户返回为 null 并且最终不会更新信息。一切似乎都井井有条,我没有任何错误。
编辑:我取得了进展,我终于能够更新 GroupID,但将其设置为 null。而不是传入的字符串。
router.put("/update", (req, res) => {
Users.findOneAndUpdate(
{ _id: req.body.id },
{
$set: { GroupID: req.body.GroupID }
},
{ new: true },
(err, user) => {
if (err) res.send(err);
else res.send("Account GroupID Updated" + user);
}
);
});
解决方案
req.body.id
您必须按如下方式转换为 objectId:
var mongoose = require('mongoose');
var id = mongoose.Types.ObjectId(req.body.id);
Users.findOneAndUpdate(
{ _id: id }
推荐阅读
- python - 通过 ID 添加角色 discord.py
- asp.net-core - 核心中的两个模型
- swift - 委托函数中的数组为空
- minify - 如何将 terser 选项传递给 html-minifier-terser
- reactjs - 反应钩子如何组合数组
- python - 在末尾识别连续的非 nan 值
- javascript - 关于如何通过 HTTP 传输图像并在 JavaScript 中处理图像的困惑
- mediawiki - Debian buster 上 pdf 失败的 PdfHandler 预览图像
- google-cloud-vision - AutoML 单图像分类预测返回“无对象”
- javascript - JQuery DirtyForms 和 Bootstrap 导航选项卡