$pull (一致する要素の削除)

最終更新:2026-10-09

$pull (一致する要素の削除)

$pull は、配列から指定した値に等しい要素、または条件を満たす要素をすべて削除します。`{ $pull: { tags: 'spam' } }` で 'spam' をすべて削除し、`{ $pull: { scores: { $lt: 60 } } }` で 60 未満のスコアをすべて削除します。1 件だけでなく一致するすべてを削除する、配列の掃除に欠かせないツールです。

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

📝 構文

{ $pull: { <array field>: <value> | <condition> } }

⚙️ パラメータ

配列フィールドクリーンアップする配列フィールド。
値または条件等値またはクエリ条件(例: 'spam' または { $lt: 60 })。

戻り値:更新結果

▶ 例

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

// $pull: spam タグをすべて削除
db.articles.updateOne(
  { _id: 1 },
  { $pull: { tags: 'spam' } }
)

// 60 未満のスコアを削除
db.students.updateOne(
  { _id: 1 },
  { $pull: { scores: { $lt: 60 } } }
)

出力:

// spam タグと 60 未満のスコアがすべて削除される

📌 注意事項

📚 関連チュートリアル

❓ よくある質問

Q$pull と $pop の違いは?
A$pull は値や条件で配列のどこからでも削除します。$pop は先頭か末尾しか削除できません。
Q$pull は条件で削除できますか?
Aはい。クエリ演算子が使えます。例: { $pull: { scores: { $lt: 60 } } }
Q$pull は一致する要素をすべて削除しますか、それとも 1 件だけですか?
A一致するすべての要素が削除されます。
Web-Tutorial.com

Web-Tutorial 技術チーム

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

100%