mongoose对于嵌套数组的更新操作,要怎么操作
发布于 6 年前 作者 liwend219 2520 次浏览 来自 问答

比如我现在的数据如下: { usID:‘123456’, data1:[ {_id:‘111’,val:‘哈哈哈’}, {_id:‘222’,val:‘嘿嘿嘿’}, … ], data2:[ {_id:‘333’,val:‘哈哈哈’}, {_id:‘444’,val:‘嘿嘿嘿’}, … ] }

如果我现在想替换data2里_id为333的那条数据里的val值,该怎么做

2 回复

跑去看了下文档,如下,建议有什么问题可以先查一查文档,基本上都可以解决问题

原数据
{
  _id: 4,
  grades: [
     { grade: 80, mean: 75, std: 8 },
     { grade: 85, mean: 90, std: 5 },
     { grade: 85, mean: 85, std: 8 }
  ]
}

更新代码
db.students.updateOne(
   { _id: 4, "grades.grade": 85 },
   { $set: { "grades.$.std" : 6 } }
)

mongodb官方文档

@luozuzhu 谢谢,终于解决了

回到顶部