【发布时间】:2022-08-14 23:59:57
【问题描述】:
我收到来自 Atlas Mongo 的警告说:
使用不区分大小写的索引时不要使用 $regex 运算符 您的查询。 $regex 实现不支持排序规则,并且 不能使用不区分大小写的索引。相反,我们推荐 Atlas 使用 $search 聚合管道阶段的搜索查询。
来源:https://www.mongodb.com/docs/atlas/schema-suggestions/case-insensitive-regex/
在我的 Java 代码中,我正在使用这个:
import org.springframework.data.mongodb.core.query.Criteria; Criteria criteria = new Criteria(); ... criteria.and(\"search\").regex(data.getText(), \"i\"); // i means case-insensitive ... return Query.query(criteria);显然,当我收到警告时,这是缓慢的表现。如何应用排序规则?
什么是最好的性能方法,所以我从正则表达式中删除了
i选项?