$pop(移除首尾元素)

最后更新:2026-10-09

$pop(移除首尾元素)

$pop 移除数组的第一个(-1)或最后一个(1)元素。`{ $pop: { queue: -1 } }` 移除队首;`{ $pop: { queue: 1 } }` 移除队尾。数组为空时无操作。它只能按位置移除,按值移除用 $pull。适合实现队列、栈、最近消息等结构。

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

📝 语法

{ $pop: { <数组字段>: <-1 或 1> } }

⚙️ 参数

数组字段要移除元素的数组字段名。
方向-1 移除第一个元素,1 移除最后一个。

返回值:更新结果文档

▶ 示例

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

// $pop:移除队列队首元素
// -1 队首,1 队尾
db.tasks.updateOne(
  { _id: 1 },
  { $pop: { queue: -1 } }
)

// 移除队尾(栈式弹出)
db.tasks.updateOne(
  { _id: 1 },
  { $pop: { queue: 1 } }
)

运行结果:

// queue 数组长度减一,队首或队尾元素被移除

📌 注意事项

📚 相关教程

❓ 常见问题

Q$pop 能移除指定值吗?
A不能,只按位置移除首/尾;按值移除用 $pull。
Q$pop 的参数只能写 -1 或 1 吗?
A是,其他值无效。
Q$pop 空数组会报错吗?
A不会,空数组时无操作。
Web-Tutorial.com

Web-Tutorial 技术团队

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

100%

🙏 帮我们做得更好

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

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