MongoDB case insensitive key search

2019-02-22 03:46发布

I am able to query values without regard to case, but I would like to to query keys insensitively, so users can type them in all lower case.

This doesn't work, because it is not valid JSON:

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

Is there a strategy I could use for this, besides just making a new collection of keys as values?

1条回答
叼着烟拽天下
2楼-- · 2019-02-22 04:15

There is currently no way to do this.

MongoDB is "schema-free" but that should not be confused with "doesn't have a schema". There's an implicit assumption that your code has some control over the names of the keys that actually appear in the system.

Let's flip the question around.

  • Is there a good reason that users are inserting case-sensitive keys?
  • Can you just cast all keys to lower-case when they're inserted?

Again, MongoDB assumes that you have some knowledge of the available keys. Your question implies that you have no knowledge of the available keys. You'll need to close this gap.

查看更多
登录 后发表回答