String (テキスト)

最終更新:2026-10-09

String (テキスト)

String は MongoDB で最も一般的なフィールド型で、UTF-8 テキストを保持します。`$eq` で完全一致、`$regex` でパターン一致します。全文検索には text インデックスと `$text` が必要です。数値や日付を文字列として格納すると、範囲クエリやソートが数値ではなく辞書順になります('9' は '10' より後にソート)。結果が黙って壊れます。

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

📝 構文

{ name: "apple" }
{ name: { $regex: "^app" } }
db.articles.find({ $text: { $search: "mongodb" } })

戻り値:文字列値そのもの。クエリでは一致するドキュメントを返します

▶ 例

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

// String: 正規表現と全文検索
use shop
db.users.find({ email: { $regex: '@example\\.com$' } })
db.articles.find({ $text: { $search: 'mongodb indexing' } })

出力:

// メールが @example.com で終わるユーザーと、mongodb/indexing に一致する記事を返す

📌 注意事項

📚 関連チュートリアル

❓ よくある質問

QString と ObjectId はいつ使い分けますか?
Aビジネス識別子(外部ID、注文番号)には String。自動一意で時刻順の ID が必要なら ObjectId を使います。
Q文字列フィールドにインデックスを張れますか?
A張れます。等価/範囲には通常のインデックス、全文検索には text インデックスを使います。
Qなぜ '9' は '10' より大きいのですか?
A文字列は文字単位で比較します。'9' のコードポイントは '1' より大きいため、'9' は '10' より後にソートされます。
Web-Tutorial.com

Web-Tutorial 技術チーム

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

100%