collation() (照合順序の設定)

最終更新:2026-10-09

collation() (照合順序の設定)

collation() はクエリの文字列比較規則を設定します: `db.users.find({ name: 'alice' }).collation({ locale: 'zh', strength: 2 })`。大文字小文字の扱い、アクセント処理、言語順序を制御します。典型的な用途は大文字小文字を区別しない検索とロケール対応の並べ替えです。インデックスも同じ照合順序で作成しないと使えないことに注意してください。

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

📝 構文

db.<collection>.find(<filter>).collation(<collation>)

⚙️ パラメータ

照合順序locale は必須、strength は任意です(例: {locale: 'en', strength: 2})。

戻り値:照合順序を適用したカーソル(チェーン可能)。

▶ 例

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

// collation: alice の大文字小文字を区別しない検索
const user = db.users.find({ name: 'alice' })
  .collation({ locale: 'en', strength: 2 })
  .toArray()
user

出力:

[ { _id: ObjectId('64c8a1b20000000000000001'), name: 'Alice', age: 21 } ]

📌 注意事項

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

📚 関連チュートリアル

❓ よくある質問

Qcollation で大文字小文字を区別しないクエリはどう実現しますか?
A{locale: 'en', strength: 2} を渡すと、大文字小文字だけが違う文字列が等しく比較されます。
Qcollation はインデックス使用に影響しますか?
Aはい。クエリの照合順序がインデックスの作成時照合順序と一致しないと、インデックスはクエリに使えません。
Qcollation のロケールはどう選びますか?
Aビジネスの言語に合わせます。例: 中国語なら 'zh'、英語なら 'en'。不明な場合は ICU ロケール一覧を参照してください。
Web-Tutorial.com

Web-Tutorial 技術チーム

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

100%