我有一个MongoDB数据库,我需要检索字段中的值列表。我尝试过:
FindIterable<Document> findIterable = collection.find(eq("data", data)).projection(and(Projections.include("servizio"), Projections.excludeId()));
ArrayList<Document> docs = new ArrayList();
findIterable.into(docs);
for (Document doc : docs) {
nomeServizioAltro += doc.toString();
}
但它打印出来
Document{{servizio=Antoniano}}Document{{servizio=Rapp}}Document{{servizio=Ree}}
虽然我想要一个包含这些字符串的数组:
Antoniano,Rapp,Ree
有办法吗?
您可以尝试使用java 8 stream输出servizio
值列表。
List<String> res = docs.stream().
map(doc-> doc.getString("servizio")).
collect(Collectors.toList());
使用for循环
List<String> res = new ArrayList();
for(Document doc: docs) {
res.add(doc.getString("servizio"));
}