MongoDB的Java驱动程序:无法解析函数toJson()

时间:2016-12-18 12:26:51

标签: java mongodb

我根据链接编写了以下代码 http://mongodb.github.io/mongo-java-driver/3.4/driver/getting-started/quick-start/(参见标题“查找集合中的所有文档”):

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 个答案:

答案 0 :(得分:1)

问题是缺少的类型。 cursor next方法返回集合的类型。下面的示例使用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();
    }