考虑这个课程。
public interface CandidateRepository extends MongoRepository<Candidate, String>
{
@Query("{$where: \"JSON.stringify(this).indexOf(?0)!=-1\"}")
public List<Candidate> findBySearch(String query);
}
在原始mongodb中,这是我要运行的查询
db.candidates.find({$where: "JSON.stringify(this).indexOf('gmail') != -1"})
此处gmail是将要传递的参数。但是,当我从界面使用findBySearch
方法时,正在运行的查询是这样的:
@Query("{$where: \"JSON.stringify(this).indexOf("gmail")!=-1\"}")
即?0
是在Java中用双引号引起来的字符串。但是我想要的是:
@Query("{$where: \"JSON.stringify(this).indexOf('gmail')!=-1\"}")
那是我希望单词gmail
用单引号'gmail'
而不是双引号"gmail"
那么我该如何解决呢?似乎是一个简单的解决方法。