$binarySize (バイナリサイズ)

最終更新:2026-10-09

$binarySize (バイナリサイズ)

$binarySize はバイナリデータ(BinData)のバイト数を返します。文字列を渡すと UTF-8 のバイト長を返します。添付ファイルのサイズ監視、アップロード上限のチェック、ストレージ容量の見積もりなどに使われます。バイナリでも文字列でもない入力はエラーになります。文字列に対しては $strLenBytes と同じ結果になります。空のバイナリは 0 を返します。

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

📝 構文

{ $binarySize: <expression> }

⚙️ パラメータ

式必須。バイナリまたは文字列の式。

戻り値:バイト単位のサイズを整数で返します。

▶ 例

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

// $binarySize: 添付ファイルのサイズ
 db.files.aggregate([
  { $project: { size: { $binarySize: '$data' } } }
])

出力:

{ "_id": 1, "size": 4096 }
{ "_id": 2, "size": 0 }

📌 注意事項

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

📚 関連チュートリアル

❓ よくある質問

Q文字列を渡せますか?
Aはい — UTF-8 のバイト数として数えられます。
Q数値を渡すとどうなりますか?
Aエラーになります。受け付けられるのはバイナリと文字列だけです。
Q$strLenBytes と同じですか?
A文字列に対しては同じです。$binarySize はさらに BinData も扱えます。
Web-Tutorial.com

Web-Tutorial 技術チーム

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

100%