2015-04-18 1 views
2

У меня есть следующий фильтр для моей MongoDB:Как использовать общий фильтр в MongoDB?

"{'shortname': '/.*LKH.*/'}" 

я использую его с помощью следующего кода Java:

BasicQuery c = new BasicQuery(filter); 
    Iterable<Hospital> hospitals = template.find(c,Hospital.class); 

Я не подвожу никаких результатов из-за surounding 'в регулярном выражении. Если я исполняю фильтр без '' вокруг регулярного выражения, я получаю результаты в mongodb. Я пробовал разные проверки, но не смог добиться успеха. Фильтр i'm appliying должен быть общим, поэтому я не могу разбираться.

У кого-то есть идея, как я могу использовать общий фильтр для MongoDB с MongoTemplate в Java - или как мне писать свой фильтр?

+0

Вы должны использовать регулярные выражения, взглянуть на этот вопрос: http://stackoverflow.com/questions/5608584/how-to-query-mongodb -with-like-use-the-java-api – CodeFox

+0

Я видел этот ответ, но это не то, что я ищу. Я хочу иметь возможность применять строку в качестве фильтра, так что это может быть и любой другой фильтр. – kamahl

+0

Я никогда не использовал mongodb так, как вы его используете. Но, возможно, вы хотите попробовать [$ regex] (http://docs.mongodb.org/manual/reference/operator/query/regex/), как в '' {'shortname': {$ regex: /.*LKH. * /}} "' –

ответ

0

Решение, предлагаемое Wolfgang Kluge:

Я никогда не использовал MongoDB, как вы его используете. Но, может быть, вы хотите попробовать $regex как в
"{'shortname': {$regex: /.*LKH.*/}}"

+1

привет, тогда мы использовали довольно странное решение. Мы разместили оценку javascript. Поскольку это был просто уни-проект с ограниченным временем под рукой, нам нужно было быстрое решение, хотя я бы никогда не применял это решение в реальном мире – kamahl

 Смежные вопросы

  • Нет связанных вопросов^_^