поиск в поле карты - PullRequest
       3

поиск в поле карты

0 голосов
/ 23 февраля 2012

Я использую морфию.Как вы знаете, для простого поиска я могу использовать это:

q.field("fieldname").containsIgnoreCase(texttosearch); 

Но мой тип поля - карта.Поэтому я должен изменить это так (используйте точку):

q.field("mapname.fieldname").containsIgnoreCase(texttosearch);

Но я снова хочу искать по всем полям.Я могу просто сделать это, повторяя для всех полей.Проблема в том, что мой счетчик полей не является статичным.Как я могу решить это?

1 Ответ

3 голосов
/ 23 февраля 2012

Вы должны хранить его не как карту, а как массив / список пар ключ / значение.Затем вы можете найти ключевое поле и проиндексировать его.Сейчас это не то, что Morphia делает для вас, а то, что может быть альтернативным форматом хранения для Map.Это был бы совсем другой формат.

Взгляните на это обсуждение, чтобы узнать больше background

...