$split (文字列の分割)

最終更新:2026-10-09

$split (文字列の分割)

$split は区切り文字で文字列を部分文字列の配列に分割します。CSV 的なテキストやタグリスト、パスの分解に欠かせない演算子です。区切り文字は空でない文字列である必要があり、空の区切り文字を渡すとコードポイント単位で分割します。$arrayElemAt や $size などの配列演算子との相性も良いです。引数のいずれかが null または欠落していると結果は null になります。

カテゴリ文字列
MongoDB バージョン1.0+
例の言語mongosh(シェル)

📝 構文

{ $split: [ <string-expression>, <delimiter> ] }

⚙️ パラメータ

文字列必須。分割する文字列または式。
区切り文字必須、空でないこと。空文字列の場合はコードポイント単位で分割します。

戻り値:部分文字列の配列。いずれかの引数が null の場合は null。

▶ 例

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

// $split: カンマ区切りのタグを配列に分割
 db.products.aggregate([
  { $project: { tags: { $split: [ '$tagStr', ',' ] } } }
])

出力:

{ "_id": 1, "tags": [ "sale", "new", "hot" ] }
{ "_id": 2, "tags": [ "featured" ] }

📌 注意事項

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

📚 関連チュートリアル

❓ よくある質問

Q区切り文字を空文字列にできますか?
Aはい — 空文字列はコードポイント単位で分割します。
Q分割後に最初の要素を取得するには?
A$arrayElemAt をインデックス 0 で使います。
Q区切り文字が現れない場合は?
A元の文字列だけが入った配列になります。
Web-Tutorial.com

Web-Tutorial 技術チーム

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

100%