$unset (フィールド削除)

最終更新:2026-10-09

$unset (フィールド削除)

$unset は、ドキュメントから指定したフィールドを削除します。`{ $unset: { age: '' } }` のように書きます — 値はプレースホルダで、通常は空文字列を指定します。ネストしたフィールドにはドット区切りのパスを使い、存在しないフィールドは黙って無視されます。配列要素に対して $unset を使うと要素は削除されず null に設定されます(削除には $pull を使います)。

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

📝 構文

{ $unset: { <field>: '' } }

⚙️ パラメータ

フィールド削除するフィールド。ドット記法を使用できます。
プレースホルダー値プレースホルダー値。通常は空文字列。

戻り値:更新結果

▶ 例

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

// $unset: age フィールドを削除
db.users.updateOne(
  { _id: 1 },
  { $unset: { age: '' } }
)

// ネストしたフィールドを削除
db.users.updateOne(
  { _id: 1 },
  { $unset: { 'address.city': '' } }
)

出力:

// ドキュメントから age と address.city フィールドが削除される

📌 注意事項

📚 関連チュートリアル

❓ よくある質問

Q$unset は配列要素を削除しますか?
Aいいえ。配列内では位置に null を設定します。要素の削除には $pull を使います。
Qなぜ $unset に値を指定するのですか?
A値はプレースホルダで、通常は空文字列を使います。どの値でも動作は同じです。
Q$unset はネストしたフィールドを削除できますか?
Aはい。ドット区切りのパスで指定します。
Web-Tutorial.com

Web-Tutorial 技術チーム

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

100%