$ifNull (null のフォールバック)

最終更新:2026-10-09

$ifNull (null のフォールバック)

$ifNull は、式が null に解決されるかフィールドが欠落している場合に代替値を返します。空データの処理で最もよく使われる演算子です。代表的な用途は、プロフィールが欠落している場合のデフォルト自己紹介や、算術の前に null の価格を 0 に置き換えることです。MongoDB 4.4 以降は複数の引数を受け付け、最初の null でない値を返します。null と欠落でのみ発動し、空文字列や空配列はそのまま通します。それらも空として扱いたい場合は $eq や $size と組み合わせてください。

カテゴリ集合・条件・変換
MongoDB バージョン1.0+
例の言語mongosh(シェル)

📝 構文

{ $ifNull: [ <expression>, <replacement> ] }

⚙️ パラメータ

式検査する式。
置換値式が null または欠落している場合に返される値。

戻り値:null でない場合は元の値、それ以外は置換値

▶ 例

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

// $ifNull: 欠落時のデフォルト自己紹介
db.users.aggregate([
  { $project: {
      bio: { $ifNull: ['$bio', 'This user stays low-key'] }
  } }
])

出力:

{ '_id': 1, 'bio': 'This user stays low-key' }

📌 注意事項

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

📚 関連チュートリアル

❓ よくある質問

Qフィールドの欠落でもフォールバックしますか?
Aはい — 欠落は null と同じ扱いで、代替値を返します。
Q空文字列でもフォールバックしますか?
Aいいえ — 発動するのは null と欠落だけです。
Q複数のフォールバックを使うには?
A4.4+ で複数の引数を渡します。最初の非 null が採用されます。
Web-Tutorial.com

Web-Tutorial 技術チーム

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

100%