$position(指定插入位置)

最后更新:2026-10-09

$position(指定插入位置)

$position 指定 $push 插入元素的位置。`{ $push: { items: { $each: ['x'], $position: 0 } } }` 在数组开头插入。位置从 0 开始计数;负数从末尾计数(-1 表示插到最后一个元素之前)。必须与 $each 一起用于 $push,可配合 $slice 限制数组长度。

分类更新修饰器
MongoDB 版本2.6+
示例语言mongosh (Shell)

📝 语法

{ $push: { <数组字段>: { $each: [ <值> ], $position: <位置> } } }

⚙️ 参数

数组字段要插入元素的数组字段名。
位置插入索引,从 0 开始;负数从末尾倒数。

返回值:更新结果文档

▶ 示例

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

// $position:把元素插到数组开头
// 位置从 0 开始
db.tasks.updateOne(
  { _id: 1 },
  { $push: { queue: { $each: ['urgent'], $position: 0 } } }
)

// 负数:插到最后一个元素之前
db.tasks.updateOne(
  { _id: 1 },
  { $push: { queue: { $each: ['normal'], $position: -1 } } }
)

运行结果:

// urgent 被插入队首;normal 插入到最后一个元素之前

📌 注意事项

📚 相关教程

❓ 常见问题

Q$position 必须配 $each 吗?
A是,$position 只能在 $push 内与 $each 一起使用。
Q$position: 0 是什么意思?
A插入到数组开头(索引 0)。
Q$position 支持负数吗?
A支持,-1 表示插入到最后一个元素之前。
Web-Tutorial.com

Web-Tutorial 技术团队

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

100%

🙏 帮我们做得更好

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

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