我可以不区分大小写地查询值,但是我想以不区分大小写的方式查询键,因此用户可以使用所有小写字母键入它们。

这不起作用,因为它不是有效的JSON:

{
   /^lastName$/i: "Jones"
}

除了仅将键作为值的新集合外,还有什么我可以使用的策略?

最佳答案

目前尚无办法。

MongoDB是“无架构”的,但不应与“没有架构”相混淆。有一个隐含的假设,即您的代码可以控制实际出现在系统中的键的名称。

让我们来探讨一下这个问题。

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

  • 同样,MongoDB假定您对可用 key 有所了解。您的问题意味着您不知道可用的 key 。您需要缩小这一差距。

    10-08 06:21
    查看更多