如何使用FindTable<;文件>;使用java从mongodb获取特定字段

如何使用FindTable<;文件>;使用java从mongodb获取特定字段,java,mongodb,Java,Mongodb,在这里,如果名称匹配,我将尝试检索状态字段。如何使用FindItemerable而不是DBCursor。是否有人可以帮助我 我的代码: public String getStatus(String name) throws Exception{ MongoClient mongo = new MongoClient("localhost",27017); MongoDatabase db = mongo.getDatabase("count

在这里,如果名称匹配,我将尝试检索状态字段。如何使用FindItemerable而不是DBCursor。是否有人可以帮助我

我的代码:

  public String getStatus(String name) throws Exception{
             MongoClient mongo = new MongoClient("localhost",27017);
             MongoDatabase db = mongo.getDatabase("counter");
             MongoCollection<Document> col = db.getCollection("status");

            Document query = new Document();
            query.put("name", name);
            query.put("status", 1);

            Document fields = new Document();
            fields.put("status", 1);
            fields.put("_id", 0);

             DBCursor cursor = collection.find(query,fields);

             while(cursor.hasNext()){
                    System.out.println(cursor.next());
                }

        return "SUCCESS";
        }
publicstringgetstatus(字符串名称)引发异常{
MongoClient mongo=新的MongoClient(“本地主机”,27017);
MongoDatabase db=mongo.getDatabase(“计数器”);
MongoCollection col=db.getCollection(“状态”);
单据查询=新建单据();
查询。输入(“名称”,名称);
查询。放置(“状态”,1);
文档字段=新文档();
字段。放置(“状态”,1);
字段。放置(“\u id”,0);
DBCursor=collection.find(查询,字段);
while(cursor.hasNext()){
System.out.println(cursor.next());
}
返回“成功”;
}

只需将光标加载到FindTable对象中,如下所示:

FindIterable<Document> docs = col.find(query);
if (docs == null) {
    //no values found
}

for(Document doc : docs) {
    //access documents e.g. doc.get()
}
FindIterable docs=col.find(查询);
if(docs==null){
//未找到任何值
}
用于(文档:文档){
//访问文档,例如doc.get()
}

只需加载光标并将文档提取到文档中即可。欲了解更多信息,请访问


DBCursor cursor = items.find(query);
while (cursor.hasNext()) {
    Document document = cursor.next();
    System.out.println(document.getString("identifier"));
}