monoo DB Update Error:传入的参数必须是一个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}})

最新更新