$trim (両端のトリム)
最終更新:2026-10-09
$trim (両端のトリム)
$trim は文字列の両端から空白(スペース・タブ・改行)を除去します。chars を指定すると、任意の文字セットを除去できます。ユーザー入力やログ行、CSV フィールドのクリーニングに適しています。chars なしでは空白のみを除去し、chars ありではセット内の文字を両端からすべて除去します。null または欠落した入力は null を返します。片側だけなら $ltrim か $rtrim を使います。
| カテゴリ | 文字列 |
|---|---|
| MongoDB バージョン | 1.0+ |
| 例の言語 | mongosh(シェル) |
📝 構文
{ $trim: { input: <string-expression>, chars: <charset> } }
⚙️ パラメータ
| input | 必須。処理対象の文字列。 |
|---|---|
| chars | 除去する任意のカスタム文字セット。既定は空白文字。 |
戻り値:前後の空白を除去した文字列。入力が null の場合は null。
▶ 例
以下のコマンドをローカルの mongosh で実行してください(mongod が起動済みである必要があります):
// $trim: ユーザー入力の名前をクリーニング
db.users.aggregate([
{ $project: { name: { $trim: { input: '$name' } } } }
])
出力:
{ "_id": 1, "name": "Alice" }
{ "_id": 2, "name": "Bob" }
📌 注意事項
- 既定の空白にはスペース・タブ・復帰・改行が含まれる
- chars を指定すると既定の空白除去が無効になる — 両方必要なら併記する
- 片側だけなら $ltrim か $rtrim を使う
🏷️ 関連タグ
💡 関連ケース
さらなる実践ケースを近日公開予定。
📚 関連チュートリアル
❓ よくある質問
Q既定で何を除去しますか?
A空白です: スペース・タブ・改行・復帰。
Q除去対象をカスタマイズできますか?
Aはい — chars で文字セットを渡します。
Q$ltrim との違いは?
A$ltrim は左端だけを除去し、$trim は両端を除去します。