Как получить список объектов в порядке последовательности, который передается из ArrayList в MongoDB с помощью Spring Boot? - PullRequest
0 голосов
/ 18 июня 2019

Я пытаюсь получить список объектов в порядке следования из коллекции User, которая передается в ArrayList с использованием оператора $ in.Но я не привожу объекты в порядок.

List<String> companyProfiledb = mongotemplate.findDistinct(query, "userID", CompanyProfile.class, String.class);
System.out.println(companyProfiledb);
Query userquery = new Query(Criteria.where("userID").in(companyProfiledb));
System.out.println(userquery);
List<User>  userdb = mongotemplate.find(userquery, User.class, "User");
System.out.println(userdb);

Когда я печатаю в консоли -

ArrayList userID из CompanyProfile:

System.out.println(companyProfiledb); ---> [3, 1, 5]

Запрос для ArrayList userID с использованием оператора $ in:

System.out.println(userquery); ---> Запрос: {"userID": {"$ in":["3", "1", "5"]}}, поля: {}, сортировка: {}

После получения списка документов из базы данных:

System.out.println(userdb); --> [Пользователь (userID = 1), Пользователь (userID = 3), Пользователь (userID = 5)]

Ожидается вывод из списка как

[User(userID=3), User(userID=1), User(userID=5)]

Ответы [ 2 ]

0 голосов
/ 18 июня 2019

Удалить сортировку из запроса

Запрос: {"userID": {"$ in": ["3", "1", "5"]}}, поля: {}

0 голосов
/ 18 июня 2019

Добавить сортировку в вашем запросе

Query userquery = new Query(Criteria.where("userID").in(companyProfiledb)).with(new Sort("_id", "-1"));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...