弹簧数据 mongo 中不区分大小写的精确匹配
2022-09-04 05:16:45
我正在将春季数据与mongo和存储库一起使用。例如:
@Query("{ 'userName' : ?0 }")
public User findByUsername(String username);
我想使这个案例不敏感。我使用了以下查询:
"{'userName' : { $regex : ?0, $options: 'i' } }"
这有效,但它不仅与 testUser 匹配,还与 estUser 匹配。
我也试过
"{'userName' : { $regex : ^?0$, $options: 'i' } }"
但这无法解析查询,因为它尝试在正则表达式中插入引号。
com.mongodb.util.JSONParseException:
({ $regex : ^"testUser"$, $options: 'i' }
^
如果我尝试使用 /.../i 正则表达式,我会遇到同样的问题。
有没有解决方案,而不必使用mongoTemplate,或者自己构建正则表达式?