You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MongoDB如何更新嵌套字段artist为A3的文档的review值为10

错误原因梳理
  • 集合名不匹配:初始化数据写入的是filmes集合,你之前的更新语句操作的是不存在的movies集合
  • 嵌套字段查询逻辑错误:{cast:{artist:"A3"}}的写法是要求cast子文档和传入的结构完全一致,你的cast字段还有director属性,自然匹配不到。查询嵌套字段的单个属性需要用点语法。
  • 语法拼写错误:第二条语句把更新操作符$set错写成了$ste,同时没有加嵌套路径直接查artist:"A3",只会匹配顶层的artist字段,命中不到数据。
  • 范围配置错误:如果用update方法更新多条数据,需要额外传入{multi:true}参数,否则默认只更新第一条匹配到的文档,更推荐直接用updateMany方法操作批量更新。
正确实现代码
db.filmes.updateMany(
  { "cast.artist": "A3" },
  { $set: { review: 10 } }
)
验证方法

执行更新后可以运行以下语句校验结果:

db.filmes.find({"cast.artist": "A3"}, {review: 1, title: 1, _id: 0})

返回结果如下即说明更新成功:

{ "title" : "movie5", "review" : 10 }

内容的提问来源于stack exchange,提问作者lukas

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 11:30:05