mongodb - Monogo DB 更新错误:传入的参数必须是 12 个字节的单个字符串或 24 个十六进制字符的字符串
问题描述
所以我正在使用我的 Express 服务器来尝试更新我的 MongoDB 上的数组。
我的数据如下所示:
{
"ID": "1",
"Name": "John",
"Image URL": "https://www.bnl.gov/today/body_pics/2017/06/stephanhruszkewycz-hr.jpg",
"Email": "",
"userSkillIds": ["1","2"]
},
{
"ID": "2",
"Name": "Sarah",
"Image URL": "https://www.venmond.com/demo/vendroid/img/avatar/big.jpg",
"Email": "",
"userSkillIds": ["3"]
},
我正在尝试使用此代码将一个字符串数字插入到 userSkillIds 数组中
router.put('/task/:id',function(req,res,next) {
var obj = req.body;
let skillId = obj.skillId;
if(obj == null || obj == {} ) {
res.status(400);
res.json({
"error": "Bad Data"
});
}else {
db.tasks.update(
{ _id: mongojs.ObjectID(req.params.id)},
{ $push: { userSkillIds: { 1: skillId } } }
)
res.json();
}
});
但是我不断收到错误错误:传入的参数必须是 12 个字节的单个字符串或 24 个十六进制字符的字符串。
任何帮助将不胜感激!
解决方案
可能是您的语法不正确,请使用 push 运算符,如下所示
db.tasks.update( { _id: 1 }, { $push: { userSkillIds: 89 } } )
推荐阅读
- phpstorm - PhpStorm:具有共同核心的多个项目
- postgresql - 如何使用 gorm 从项目 B 中的 go1.12 Flex 实例连接到项目 A 中的 GCP PostgreSQL 11 DB
- javascript - 与 MongoDB 的异步 Javascript -
- r - 如何创建“如果,那么”来组织数据?
- python - 如何在 Python 中裁剪 SVG 图像?
- jquery - JQuery:使用通配符查找数据属性
- reactjs - 在承诺中反应 useState setter 不更新
- angular - resolveJsonModule 不能与 Angular 10 一起使用?
- javascript - 使用没有页眉和页脚的 JS 将 Html 转换为 MS Word
- firebase-realtime-database - 使用 SwiftUI Xcode 11 从 firebase 实时数据库中检索数据