我有一个用户集合,其中一个文档字段名为
因此,我按照Mongo文档中的说明创建了一个自定义排序的新索引。我使用compass GUI创建了这个索引,并设置了locale = en,strength = 1,并将其他所有内容保持默认。
我原以为使用这个索引,我可以查询到
即使解释计划也显示未在查询中使用索引: 这是MongoDB 4.0.16版本,我的理解是不区分大小写的排序支持从3.4版本开始就已经存在了。我查看了this answer,除了使用Compass创建索引而不是Mongo shell之外,我认为我已经做了其他所有的事情。
leaderboard_name
。它是一个文本字段,我希望能够以不区分大小写的方式查询它。因此,我按照Mongo文档中的说明创建了一个自定义排序的新索引。我使用compass GUI创建了这个索引,并设置了locale = en,strength = 1,并将其他所有内容保持默认。
我有以下文档要查询:
{
leaderboard_name: "johndoe"
}
我原以为使用这个索引,我可以查询到
JOHNDOE
并找到这个文档,但我一直没有得到任何结果。只有在区分大小写的情况下才能匹配成功。即使解释计划也显示未在查询中使用索引: 这是MongoDB 4.0.16版本,我的理解是不区分大小写的排序支持从3.4版本开始就已经存在了。我查看了this answer,除了使用Compass创建索引而不是Mongo shell之外,我认为我已经做了其他所有的事情。
leaderboard_name
字段就会自动选择我创建的索引。 - Mike