0

我可以匹配字符串的开头,即 clo 与关键字, db.post.find({"keywords":"/^clo/"}).pretty()当我尝试使用 spring mongo 编写相同的查询时,它给了我正确的结果。它无法正常工作。它以 % string % 的形式给出结果。即匹配字符串中的任何位置。我试图只在开始时匹配。我的代码是

String pattern = "/^" + keyword + "/";
Criteria criteria2 = Criteria.where("keywords").is(keyword).regex(pattern);

我在哪里失踪?

4

1 回答 1

0
  1. 你可以这样做:

    Query.query(Criteria.where("keywords").regex("^clo"))

  2. 或将其用作本机查询:

    new BasicQuery("{'keywords' : '/^clo/'}")

方法is()提供完整的equalsregex()必须没有/包装器。

那是你的问题。

于 2014-04-05T14:37:19.317 回答