Я хочу получить массив из MongoDB с использованием Spring Data Mongo.Получить массив из MongoDB с использованием Spring Data Mongo
У меня есть коллекция состоит из пользователей с несделанным:
{
"_id" : ObjectId("584d863e439e512f4c457eea"),
"username" : "e",
"todos" : [
{
"_id" : ObjectId("584d8654439e512f4c457eeb"),
"title" : "Officiis id sed aut molestiae id id magni.",
"body" : "Fugit velit rem incidunt. Et ad aliquam inventore voluptatem sed omnis voluptas. Aut sint eum voluptatem.",
"when" : ISODate("1972-09-15T04:24:08.880Z"),
"priority" : "HIGH",
"status" : "DEFAULT",
"tags" : [
"animi",
"veniam",
"exercitationem"
]
},
// ...
]
}
Я попытался следующий:
public List<Todo> getUserTodos(String userId)
Query x = new Query(Criteria.where("_id").is(userId));
x.fields().exclude("_id").include("todos");
return mongoTemplate.find(x, Todo.class);
}
На самом деле, я получаю пустой ArrayList
. Ответ в Монго кли, как:
{
"todos": [ {/* todo1 */}, {/* todo2 */} ]
}
Как вернуть массив из MongoDB или как разворачивать его для десериализации в Java?
Какую ошибку вы получаете? Просто fyi '_id' в запросе отличается от того, что показано в образце. – Veeram
@ SagarReddy oops, мой плохой. На самом деле я передаю параметр userId. Я исправлю вопрос. –