2016-12-18 74 views
0

我寫了下面的代碼基於鏈接 http://mongodb.github.io/mongo-java-driver/3.4/driver/getting-started/quick-start/(見標題爲「找到一個集合中的所有文件」):MongoDB的Java驅動程序:無法解析函數的toJSON()

import com.mongodb.MongoClient; 
import com.mongodb.client.MongoCollection; 
import com.mongodb.client.MongoCursor; 
import com.mongodb.client.MongoDatabase; 

public class Main { 
    public static void main(String[] args) { 
     MongoClient mongoClient = new MongoClient(); 
     MongoDatabase database = mongoClient.getDatabase("test"); 
     MongoCollection collection = database.getCollection("test"); 
     MongoCursor cursor = collection.find().iterator(); 
     try { 
      while(cursor.hasNext()) { 
       System.out.println(cursor.next().toJson()); 
      } 
     } finally { 
      cursor.close(); 
     } 
    } 
} 

然而,我得到一個錯誤,該函數toJson()無法解析。你有什麼想法我可以使這個代碼工作?

回答

1

問題是缺少的類型。遊標next方法返回collection的類型。下面的例子使用bson的Document類型。

import org.bson.Document; 

MongoDatabase database = mongoClient.getDatabase("test"); 
    MongoCollection<Document> collection = database.getCollection("test"); 
    MongoCursor<Document> cursor = collection.find().iterator(); 
    try { 
     while(cursor.hasNext()) { 
      System.out.println(cursor.next().toJson()); 
     } 
    } finally { 
     cursor.close(); 
    } 
+0

謝謝。但爲什麼在文檔中缺少'?這是一個錯誤嗎? – CrazySynthax

+1

我只是看着你提供的鏈接。看起來你引用的標題也有一個文檔類型。 – Veeram

+0

謝謝。我可能錯過了它。 – CrazySynthax

相關問題