如何使用FindTable<;文件>;使用java从mongodb获取特定字段
在这里,如果名称匹配,我将尝试检索状态字段。如何使用FindItemerable而不是DBCursor。是否有人可以帮助我 我的代码:如何使用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
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"));
}