$literal (リテラル)

最終更新:2026-10-09

$literal (リテラル)

$literal は値を式として解釈せずに返します。$ で始まる文字列をプレーンテキストとして出力したい場合や、数値リテラルの型を正確に保ちたい場合に使います。例えば { $project: { prefix: { $literal: '$' } } } は文字列 '$' を出力します。'$' を直接書くとフィールドパスとして扱われてしまいます。$cond や $switch 内でリテラルのブール値や数値引数を渡すのにも便利です。$project で定数を出力する最も簡潔な方法です。

カテゴリリテラル・変数・オブジェクト
MongoDB バージョン1.0+
例の言語mongosh(シェル)

📝 構文

{ $literal: <value> }

⚙️ パラメータ

値任意の値または式。$ で始まる文字列はリテラルとして扱われます。

戻り値:渡された値を式として解析せずそのまま返します

▶ 例

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

// $literal: $ で始まる文字列定数を出力
db.orders.aggregate([
  { $project: {
      currency: { $literal: '$' },
      rate: { $literal: 0.08 }
  } }
])

出力:

{ '_id': 1, 'currency': '$', 'rate': 0.08 }
{ '_id': 2, 'currency': '$', 'rate': 0.08 }

📌 注意事項

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

📚 関連チュートリアル

❓ よくある質問

Q$literal は何に使いますか?
A$ 文字列などの定数を、フィールドパスとして解釈されずに出力します。
Q$literal がないとどうなりますか?
A$ で始まる文字列はフィールドパスとして解釈され、フィールドがなければ null に解決されます。
Q$literal で式を包めますか?
A評価されません。リテラルの内容がそのまま返されます。
Web-Tutorial.com

Web-Tutorial 技術チーム

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

100%