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

如何在Mongoose中向嵌套数组arrayOfObjects添加对象?

正确的MongoDB数组推入实现方式

你当前的写法会直接替换整个object字段,而非针对object.arrayOfObjects数组执行$push操作,这就是代码未生效的核心原因。

正确的实现需要用**点符号(dot notation)**精准定位嵌套在object下的目标数组,直接在更新参数中指定$push操作:

await Model.updateOne(
  { _id: 12345 },
  { $push: { "object.arrayOfObjects": { number: 3 } } }
);

关键说明

  • 点符号是MongoDB访问嵌套文档字段的标准方式,通过"object.arrayOfObjects"可以直接定位到要修改的数组。
  • 不要把$push嵌套在object对象内部,这种写法会被MongoDB判定为替换整个object字段,而非修改其内部的数组元素。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 04:20:33