如何从Java中的MongoDB集合中检索特定字段的值

问题描述 投票:1回答:1

我有一个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 mongodb
1个回答
1
投票

您可以尝试使用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"));
}
© www.soinside.com 2019 - 2024. All rights reserved.