Docs Menu
Docs Home
/
MongoDB マニュアル
/ / / /

$pop

項目一覧

  • 定義
  • 動作
$pop

$pop 演算子は、配列の最初または最後の要素を削除します。配列の最初の要素を削除するには$pop-1の値を渡します。配列の最後の要素を削除するには1の値を渡します。

$pop 演算子の形式は次のとおりです。

{ $pop: { <field>: <-1 | 1>, ... } }

埋め込みドキュメントまたは配列で<field>を指定するには、 ドット表記 を使用します。

MongoDB 5.0 以降、更新演算子では名前が文字列ベースのドキュメントフィールドを辞書順に処理します。数値名のフィールドは、数値順に処理されます。詳細については、「更新演算子の動作」を参照してください。

<field> が配列でない場合、$pop 操作に失敗します。

$pop 演算子が <field> 内の最後の項目を削除すると、<field> には空の配列が保持されます。

MongoDB 5.0 以降、$popなどの更新演算子を空のオペランド式({ })と併用しても、mongod でエラーが発生しなくなりました。空の更新を使用すると変更は一切されず、oplog エントリも作成されません(操作は実行されません)。

students コレクションを次のように作成します。

db.students.insertOne( { _id: 1, scores: [ 8, 9, 10 ] } )

次の例では、scores 配列から最初の要素 8 を削除します。

db.students.updateOne( { _id: 1 }, { $pop: { scores: -1 } } )

最初の要素 8 が scores 配列から削除されました。

{ _id: 1, scores: [ 9, 10 ] }

次のドキュメントを students コレクションに追加します。

db.students.insertOne( { _id: 10, scores: [ 9, 10 ] } )

次の例では、$pop 式で 1 を指定して、scores 配列から 最後の要素 10 を削除します。

db.students.updateOne( { _id: 10 }, { $pop: { scores: 1 } } )

最後の要素 10 が scores 配列から削除されました。

{ _id: 10, scores: [ 9 ] }

Tip

以下も参照してください。

戻る

$addToSet

項目一覧