$toString (文字列への変換)
最終更新:2026-10-09
$toString (文字列への変換)
$toString は値を文字列に変換します。数値、日付、ブール値、ObjectId などをきれいに変換でき、null は null のままです。代表的な用途は、$concat の前に数値を文字列化したり、ObjectId をフロントエンドに文字列として渡したり、表示形式を統一したりすることです。to: string の $convert 短縮形です。日付から文字列への出力は形式を制御できないため、特定の形式が必要な場合は $dateToString を使います。
| カテゴリ | 集合・条件・変換 |
|---|---|
| MongoDB バージョン | 1.0+ |
| 例の言語 | mongosh(シェル) |
📝 構文
{ $toString: <expression> }
⚙️ パラメータ
| 式 | 数値、日付、ブール値、ObjectId、またはその他の値。 |
|---|
戻り値:文字列。入力が null の場合は null
▶ 例
以下のコマンドをローカルの mongosh で実行してください(mongod が起動済みである必要があります):
// $toString: 数値をラベルに連結
db.products.aggregate([
{ $project: {
label: { $concat: ['SKU-', { $toString: '$skuNum' }] }
} }
])
出力:
{ '_id': 1, 'label': 'SKU-1001' }
📌 注意事項
- 数値、日付、ブール値、ObjectId はすべて文字列に変換される
- null は null を返す。連結前にガードする
- 日付から文字列への出力は固定で制御できない。カスタム形式には $dateToString
🏷️ 関連タグ
💡 関連ケース
さらなる実践ケースを近日公開予定。
📚 関連チュートリアル
❓ よくある質問
Q$concat は数値を直接連結できますか?
Aいいえ — 先に $toString で変換してください。
Q日付はどの形式になりますか?
A固定で制御できない形式です。カスタム出力には $dateToString を使います。
Qnull の場合は?
Anull を返します。$concat 全体が null になるため、ガードしてください。