我正在使用正则表达式锚搜索索引,如下所示:
/^[Anchor1]/
一切都很好。它匹配以“Anchor1”开头的所有值,并使用 idex 来执行此操作。
但是,我想匹配多个起始字符串之一,如下所示:
/^[Anchor1][Anchor2][Anchor3][Anchor4]/
它太慢了,它不会返回。这适用于超过 3 个锚点的任何情况。我相当肯定这很简单。要么我的正则表达式是垃圾(我希望这可能是这种情况 - 我讨厌正则表达式)或者我的 mongo-fu 很弱。如果相关,我正在使用 Java 驱动程序。
我的问题是:
我在这里做错了什么?我希望能够利用 mongo 索引来匹配几个可能的起始字符串之一。
更新
多哈。我的正则表达式是垃圾。它应该是(感谢 Sammaye):
^(Anchor1|Anchor2|Anchor3)
虽然它仍然很慢。我会提出一个更清楚的问题。