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

MongoDB如何更新数组内指定对象字段并向内嵌数组追加元素

MongoDB 更新语句实现方案

你可以使用 MongoDB 的数组筛选器arrayFilters精准定位到shedule数组中包含SUN键的元素,再分别执行状态修改和数组追加操作,完整语句如下:

// 单文档更新用updateOne,多文档批量更新可替换为updateMany
db.你的集合名.updateOne(
  // 筛选目标文档,可按实际需求替换为_id等精准匹配条件
  { "shedule.SUN": { $exists: true } },
  {
    // 修改SUN的status为true
    $set: { "shedule.$[target].SUN.status": true },
    // 向task数组追加1、2两个元素
    $push: {
      "shedule.$[target].SUN.task": { $each: [1, 2] }
    }
  },
  {
    // 数组筛选规则:匹配shedule数组中存在SUN键的元素
    arrayFilters: [ { "target.SUN": { $exists: true } } ]
  }
)

注意事项

  • 请将语句中的你的集合名替换为你实际操作的集合名称
  • 语句中的字段名shedule和你给出的文档结构保持一致,如果是拼写笔误实际为schedule,请同步修改语句中的字段名
  • 如果需要精准匹配单个文档,建议把第一个查询参数替换为{ "_id": ObjectId("你的文档ID") },避免误改其他文档

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 07:12:02