Выбор только одного столбца в mongo db с использованием morphia

У меня есть 2 столбца String id, String Name и long age.

Как мы сделали бы в sql - выберите id FROM USERDETAILS Где Age> 5 даст мне arrayList первичных ключей, который является «Id».

может ли кто-нибудь сказать мне, как сделать то же самое для mongo db с помощью morphia.

Я пробовал с query.retrieveFields(true,"id").get();

но он возвращает модель USERDETAILS, мне нужен только массив идентификаторов. как я могу это сделать, пожалуйста, помогите


person Ekata    schedule 08.07.2013    source источник
comment
Проверьте здесь stackoverflow. ком/вопросы/3985214/   -  person t4t    schedule 08.07.2013
comment
Используя morphia, запросы всегда возвращают класс вашей модели. В вашем случае поля имени и возраста будут пустыми/нулевыми. Таким образом, вы можете перебирать список и идентификаторы в своем приложении Java.   -  person Miguel Cartagena    schedule 08.07.2013
comment
да, я использовал итеративный метод, но у них были некоторые проблемы с производительностью. любой способ избежать итерации?   -  person Ekata    schedule 08.07.2013
comment
Ну, вы можете использовать драйвер Java напрямую, но вам все равно придется преобразовать DBCursor в List<String>.   -  person Miguel Cartagena    schedule 08.07.2013


Ответы (2)


Вы вернете свой модельный класс с помощью morphia. Вот что он делает. Если вам нужен необработанный список идентификаторов, вам нужно будет использовать драйвер напрямую.

person evanchooly    schedule 07.11.2013

использовать проект

Query<Object> query = createQuery(); query.project("fieldNamewhichisalonerequired", true); return query.asList();

person creativity planet    schedule 25.03.2021