【发布时间】:2020-06-11 01:41:15
【问题描述】:
我有一组用户,其中一个文档字段名为 leaderboard_name。这是一个文本字段,我希望能够以不区分大小写的方式查询它。
所以我在Mongo docs 之后使用自定义排序规则创建了一个新索引。我使用指南针 GUI 创建了它,并设置 locale = en,strength = 1 并将其他所有内容保留为默认值:
我有以下文件要查询:
{
leaderboard_name: "johndoe"
}
我希望通过这个索引,我应该能够查询JOHNDOE 并找到这个文档,但我一直没有得到任何结果。只有当我用匹配的大小写搜索时,我才会得到匹配。
甚至解释计划都说查询中没有使用索引:
这是 MongoDB 4.0.16,我的理解是从 3.4 开始支持不区分大小写的排序规则。我查看了this answer,除了使用 compass 来创建索引而不是 mongo shell 之外,我想我所做的一切都是一样的。
【问题讨论】:
-
您必须在查询中指定排序规则选项也。
-
请不要粘贴图片。使用格式化文本代替代码。
-
@prasad_ 谢谢!我假设只查询
leaderboard_name字段,它会自动选择我创建的索引。
标签: mongodb mongodb-query