我可以匹配字符串即clo与关键字的开头,它给出了正确的结果db.post.find({"keywords":"/^clo/"}).pretty()
当我尝试使用spring mongo编写相同的查询时。它无法正常工作。它将结果显示为%string%。即匹配字符串中的任何位置我试图只在开始时匹配。我的代码是
String pattern = "/^" + keyword + "/";
Criteria criteria2 = Criteria.where("keywords").is(keyword).regex(pattern);
我失踪的地方?
答案 0 :(得分:0)
你可以这样做:
Query.query(Criteria.where("keywords").regex("^clo"))
或者将其用作本机查询:
new BasicQuery("{'keywords' : '/^clo/'}")
方法is()
提供完整的equals
,regex()
必须没有/
包装。
那是你的问题。