$push(追加元素)

最后更新:2026-10-09

$push(追加元素)

$push 向数组末尾追加一个或多个元素。`{ $push: { items: 'pen' } }`;一次多个需配合 $each。可组合 $position(插入位置)、$slice(长度限制)、$sort(排序)实现更复杂的数组维护。是数组更新中使用频率最高的操作符。

分类更新数组
MongoDB 版本1.0+
示例语言mongosh (Shell)

📝 语法

{ $push: { <数组字段>: <值> } }

⚙️ 参数

数组字段要追加元素的数组字段名。
值要追加的值或 { $each: [...] } 形式。

返回值:更新结果文档

▶ 示例

请在本地安装的 mongosh 中执行以下命令(需已启动 mongod):

// $push:向数组追加元素
// 可重复追加,不去重
db.carts.updateOne(
  { _id: 1 },
  { $push: { items: 'pen' } }
)

// 批量追加
// 需 $each 包装
db.carts.updateOne(
  { _id: 1 },
  { $push: { items: { $each: ['book', 'ruler'] } } }
)

运行结果:

// items 追加 pen;第二次追加 book 与 ruler,允许重复

📌 注意事项

📚 相关教程

❓ 常见问题

Q$push 和 $addToSet 的区别?
A$push 允许重复直接追加;$addToSet 去重后才添加。
Q$push 能插入到指定位置吗?
A能,配合 $position 指定索引。
Q$push 能限制数组长度吗?
A能,配合 $slice 截断,如只保留最近 10 条。
Web-Tutorial.com

Web-Tutorial 技术团队

由多位开发者共同维护的编程教程平台。每篇教程由对应领域的开发者编写和审核,确保内容准确可靠。如发现任何问题,欢迎向我们反馈。

100%

🙏 帮我们做得更好

我们是刚上线的编程教程站,几个人的小团队,精力有限。页面虽经检查,难免还有疏漏——链接失效、排版错乱、内容有误、语言生硬……

如果您发现了,麻烦告诉我们,我们会在收到反馈后第一时间进行修复,再次感谢您的光临 🙏