Играть!Запросы Morphia в полях Collection (т.е. Set или List) - PullRequest
0 голосов
/ 09 января 2012

У меня есть документы с набором длинных значений для идентификаторов их родительских документов, например:

{..., "parentIDs" : [ 47, 49 ], ...}

В моем классе Entity это поле определено как:

@Embedded(concreteClass = java.util.TreeSet.class)
@Indexed
public Set<Long> parentIDs = new TreeSet<Long>();

Каким будет запрос Morphia для возврата всех документов с определенным родительским идентификатором (например, 47)?

Я использую:

List<Node> nl = Node.find("type", "event").filter("parentIDs", id).asList();

с идентификатором, являющимся правильным и существующим идентификатором родительского документа. Но это не работает. Чего мне не хватает?

спасибо, eriq

1 Ответ

2 голосов
/ 09 января 2012

Я не очень знаком с выражением поиска и не использую Play! Но то, как я решаю эту проблему, должно работать и для вас. Вместо использования фильтра используйте методы field () и hasThisOne ().

Может быть что-то вроде этого:

Node.find("type","event").field("parentIDs").hasThisOne(id).asList();

Надеюсь, это поможет

С уважением Арне

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...