无法使用嵌套对象的嵌套数组更新数据

时间:2019-01-23 10:22:05

标签: node.js mongodb

有人可以帮忙吗? 这是我的数据库结构

article:Array
0:Object
articleID:123
name:"xx"
content:Array
0:Object
title:"hai"
name:"xname"
1:Object
title:Hello
name:"yname"
  

我在支持所有对象中更新内容数组标题的背景下写了这个

userRouter.post('/updatecontent',(req,res)=>{
    console.log(req.body._id);
    console.log(req.body.articleId);
    console.log(req.body.title);
    Collections.user.update({_id:req.body._id,article:{$elemMatch:{articleId:req.body.articleId}}},{'$set':{'article.0.content.$[].title':req.body.title}},function(err,result){
    if(err)
    res.send(err)
    else
    console.log(result);
    res.send(result)   
    })
    })

此处数据正在更新,但只有一个问题。如果我保留0个标题的对象是Apple,而1个标题的对象是Mango。那么我得到的结果是两个标题都是芒果。

0 个答案:

没有答案