Рассмотрим этот класс.
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"
Так как мне решить эту проблему??Это похоже на простое исправление.