我正在尝试将MongoDB的数据逐字段获取到我的Java代码中

时间:2019-01-26 15:28:30

标签: java database mongodb nosql mongodb-query

我在MongoDB中的收藏集看起来像

_id |姓名|联系人

101 |贾斯汀| 9999999999

并且我试图以类似于

的方式在String中获取这些值。

101Justin9999999999

在我的Java程序中,但是我能得到的只是

[文档{{__id = 101.0,名称= Justin,联系人= 9999999999}}]

到目前为止,我尝试过的代码如下:

public static void main( String args[] ) { 

    MongoClient mongo = new MongoClient( "localhost" , 27017 ); 

    MongoDatabase database = mongo.getDatabase("assingment");  

    MongoCollection<Document> collection = database.getCollection("mongoData");

    FindIterable<Document> iterDoc = collection.find(); 

    String temp="";
    Iterator it = iterDoc.iterator(); 

    while (it.hasNext()) {  
        mongoArrayList.add(it.next().toString()); 
    }
  System.out.println(mongoArrayList); 

1 个答案:

答案 0 :(得分:0)

是正确的。从mongo数据库中获取数据时,您将获得Document个对象的集合。您必须在哪里提供逻辑。迭代该集合并根据字段值自己构建所需的字符串。

在每个文档中,您都可以执行以下操作:document.getString("Name"),其中Name是mongo数据库中的列名之一。

示例代码:

while(it.hasNext()) {
  Document nextDocument = (Document) it.next();
  StringBuilder builder = new StringBuilder();
  builder.append(nextDocument.getString("_id")).append(nextDocument.getString("Name")).append(nextDocument.getString("Contact")); 
  mongoArrayList.add(builder.toString()); 
}