collation()(设置排序规则)

最后更新:2026-10-09

collation()(设置排序规则)

collation()为查询设置字符串比较规则,语法为`db.users.find({ name: 'alice' }).collation({ locale: 'zh', strength: 2 })`。它决定大小写是否敏感、重音是否区分、语言排序习惯等。典型应用是不区分大小写的查询和本地化排序。注意:collation要求集合或索引在创建时指定了同样的collation才能用上索引。

分类游标
MongoDB 版本1.0+
示例语言mongosh (Shell)

📝 语法

db.<集合>.find(<条件>).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会。查询的collation必须与索引创建时的collation一致,否则索引无法被使用。
Qcollation的locale参数怎么选?
A按业务语言选择,如中文用'zh'、英文用'en';不确定时可参考ICU的locale列表。
Web-Tutorial.com

Web-Tutorial 技术团队

由多位开发者共同维护的编程教程平台。每篇教程由对应领域的开发者编写和审核,确保内容准确可靠。如发现任何问题,欢迎向我们反馈。

100%

🙏 帮我们做得更好

我们是刚上线的编程教程站,几个人的小团队,精力有限。页面虽经检查,难免还有疏漏——链接失效、排版错乱、内容有误、语言生硬……

如果您发现了,麻烦告诉我们,我们会在收到反馈后第一时间进行修复,再次感谢您的光临 🙏