collation() (Set Collation)
Last updated: 2026-10-09
collation() (Set Collation)
collation() sets string comparison rules for a query: `db.users.find({ name: 'alice' }).collation({ locale: 'zh', strength: 2 })`. It governs case sensitivity, accent handling, and language ordering. Typical uses are case-insensitive lookups and locale-aware sorting. Note that indexes must be created with the same collation to be usable.
| Category | Cursor |
|---|---|
| MongoDB Version | 1.0+ |
| Example Language | mongosh (Shell) |
📝 Syntax
db.<collection>.find(<filter>).collation(<collation>)
⚙️ Parameters
| collation | locale is required, strength optional — e.g. {locale: 'en', strength: 2}. |
|---|
Returns:The cursor with the collation applied (chainable).
▶ Example
Run the commands below in your local mongosh (requires a running mongod):
// collation: case-insensitive lookup for alice
const user = db.users.find({ name: 'alice' })
.collation({ locale: 'en', strength: 2 })
.toArray()
user
Output:
[ { _id: ObjectId('64c8a1b20000000000000001'), name: 'Alice', age: 21 } ]
📌 Notes
- strength 2 ignores case; strength 1 considers only base characters
- To use an index, it must be created with the same collation
- Different locales sort differently — keep queries and indexes aligned
🏷️ Related Tags
💡 Related Cases
More hands-on cases coming soon.
📚 Related Tutorials
❓ FAQ
QHow does collation enable case-insensitive queries?
APass {locale: 'en', strength: 2} so strings differing only in case compare equal.
QDoes collation affect index usage?
AYes — the query collation must match the index's creation collation or the index cannot serve the query.
QHow do I choose the locale for collation?
AMatch your business language, e.g. 'zh' for Chinese, 'en' for English; see the ICU locale list when unsure.