deleteOne() (単一ドキュメントの削除)

最終更新:2026-10-09

deleteOne() (単一ドキュメントの削除)

deleteOne() はフィルタに一致する最初のドキュメントを削除します。複数一致した場合も、自然順序で最初の1件だけが削除されます。結果には deletedCount(0 または 1)が含まれます。削除は元に戻せないため、先に `db.users.findOne({ name: 'Alice' })` で対象を確認するのが賢明です。単一ドキュメントの削除には最も直接的な方法です。

カテゴリ書き込み
MongoDB バージョン1.0+
例の言語mongosh(シェル)

📝 構文

db.<collection>.deleteOne(<filter>, { writeConcern: <options> })

⚙️ パラメータ

フィルター条件削除するドキュメントにマッチする述語。
writeConcern任意。書き込み保証(write concern)。

戻り値:DeleteResult: { acknowledged, deletedCount }。

▶ 例

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

// deleteOne: Alice という名前のユーザーを削除する
db.users.deleteOne({ name: 'Alice' })

出力:

{ acknowledged: true, deletedCount: 1 }

📌 注意事項

📚 関連チュートリアル

❓ よくある質問

QdeleteOne は一致するすべてのドキュメントを削除しますか?
Aいいえ、deleteOne() は最初の一致のみを削除します。全一致の削除には deleteMany() を使います。
Q一致するものが無い場合、deleteOne はエラーを投げますか?
Aエラーにはなりません。deletedCount: 0 を返し、フィルタが何かに一致したかを伝えます。
Q削除したドキュメントは復元できますか?
AAPI 経由ではできません。削除は物理的なものです。復元はバックアップか oplog(レプリカセット)に依存するため、重要なデータは先にバックアップしてください。
Web-Tutorial.com

Web-Tutorial 技術チーム

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

100%