$position (挿入位置の指定)

最終更新:2026-10-09

$position (挿入位置の指定)

$position は、$push が要素を挿入する位置を指定します。`{ $push: { items: { $each: ['x'], $position: 0 } } }` で先頭に挿入します。位置は 0 から始まり、負の値は末尾から数えます(-1 は末尾の要素の前に挿入)。$push 内で $each と一緒に使い、$slice と組み合わせて配列の長さも制限できます。

カテゴリ更新修飾子
MongoDB バージョン2.6+
例の言語mongosh(シェル)

📝 構文

{ $push: { <array field>: { $each: [ <value> ], $position: <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%