$strLenCP (コードポイント長)

最終更新:2026-10-09

$strLenCP (コードポイント長)

$strLenCP は文字列の Unicode コードポイント数を返します。実質、人が認識する文字数です。中国語・日本語・絵文字もそれぞれ 1 として数えるため、ニックネームの文字数制限やテキスト要約に適しています。バイト数で数える $strLenBytes と違い、マルチバイト文字で結果が膨らむことはありません。なお、合成文字(肌色の絵文字など)は複数のコードポイントにまたがる場合があります。

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

📝 構文

{ $strLenCP: <string-expression> }

⚙️ パラメータ

文字列必須。計測する文字列式。

戻り値:コードポイント長を整数で返します。

▶ 例

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

// $strLenCP: ニックネームの長さを検証
 db.users.aggregate([
  { $project: { len: { $strLenCP: '$nickname' } } }
])

出力:

{ "_id": 1, "len": 4 }
{ "_id": 2, "len": 2 }

📌 注意事項

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

📚 関連チュートリアル

❓ よくある質問

Q20 文字のニックネーム制限にはどちらを使いますか?
A$strLenCP です — 文字数で数えます。
Q$strLenBytes との差は?
A中国語 1 文字につき 2 バイトの差があります。
Q絵文字はいくつと数えますか?
A単純な絵文字は 1 つ、合成絵文字は 2 つ以上になる場合があります。
Web-Tutorial.com

Web-Tutorial 技術チーム

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

100%