Как передать параметр одинарных кавычек в аннотацию @Query в весенних данных mongodb? - PullRequest
0 голосов
/ 24 января 2019

Рассмотрим этот класс.

public interface CandidateRepository extends MongoRepository<Candidate, String> 
{
    @Query("{$where: \"JSON.stringify(this).indexOf(?0)!=-1\"}")
    public List<Candidate> findBySearch(String query);
}

В raw 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"

Так как мне решить эту проблему??Это похоже на простое исправление.

...