$pullAll (指定値の一括削除)

最終更新:2026-10-09

$pullAll (指定値の一括削除)

$pullAll は、配列から指定したリスト内のいずれかの値に等しい要素をすべて削除します。`{ $pullAll: { tags: ['spam', 'ads'] } }` のように使います。$pull と違い、$pullAll は等値マッチのみ対応で条件は使えませんが、複数の値を一度に指定できます(複数値での条件削除は $pull 内で $in を使います)。

カテゴリ配列更新
MongoDB バージョン1.0+
例の言語mongosh(シェル)

📝 構文

{ $pullAll: { <array field>: [ <value1>, <value2>, ... ] } }

⚙️ パラメータ

配列フィールドクリーンアップする配列フィールド。
値のリスト削除する値。等値一致のみ。

戻り値:更新結果

▶ 例

以下のコマンドをローカルの mongosh で実行してください(mongod が起動済みである必要があります):

// $pullAll: 複数のタグを一度に削除
// 等値マッチのみ
db.articles.updateOne(
  { _id: 1 },
  { $pullAll: { tags: ['spam', 'ads'] } }
)

出力:

// spam と ads のエントリが tags からすべて削除される

📌 注意事項

さらなる実践ケースを近日公開予定。

📚 関連チュートリアル

❓ よくある質問

Q$pullAll と $pull の違いは?
A$pullAll は複数の完全一致値を削除します。$pull は条件を 1 つずつ指定できます(複数値には $in を使います)。
Q$pullAll は条件に対応していますか?
Aいいえ。等値マッチのみです。
Q複数の値を一度に削除するには?
A$pullAll: { tags: ['a', 'b'] } とします。
Web-Tutorial.com

Web-Tutorial 技術チーム

複数の開発者によって共同維持されているプログラミングチュートリアルプラットフォーム。各チュートリアルは専門分野の開発者が執筆・レビューしています。正確で信頼性の高いコンテンツを目指しています — 問題を見つけた場合はお知らせください。

100%