MongoDB不区分大小写的键搜索

8
我可以查询值而不考虑大小写,但我想要不区分大小写地查询键,这样用户可以全部使用小写字母输入键。但下面的方法行不通,因为它不是有效的JSON格式:
{
   /^lastName$/i: "Jones"
}

除了创建一个新的键值集合,我可以使用什么策略来处理这个问题吗?


谁给这个点了 -1?这是一个相当合理的问题。重置为 0。 - Remon van Vliet
1个回答

4

目前没有办法做到这一点。

MongoDB是“无模式”的,但这不应该被混淆为“没有模式”。有一个隐含的假设,即您的代码对实际出现在系统中的键名称具有一定的控制权。

我们来反过来思考这个问题。

  • 用户插入区分大小写的键是否有充分的理由?
  • 插入时可以将所有键转换为小写吗?

同样,MongoDB假设您对可用的键有一定的了解。您的问题暗示您对可用的键没有任何了解。您需要填补这个空白。


1
目前还没有办法做到这一点。这个答案今天仍然有效吗? - Ababneh A
1
这很可能会一直存在。更改查询以支持键范围是大量工作。此外,它无法索引,这是一个大问题。 - Gates VP
与其使用“无模式”或“无模式化”等术语来解释MongoDB和类似的数据库系统,我发现默认情况下它们具有可变或不受限制的模式更容易理解,从而减少了混淆。 - StingyJack
Mongodb现在支持不区分大小写的索引。 - StingyJack

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接