2016-08-03 8 views
0

umgewandelt wird Ich versuche, ein mongodb abfragen, wie es in Beispiel auf der offiziellen Dokumentation Seite gezeigt ist, aber es gibt mir die folgende Fehlermeldung auf NetbeansBSON kann nicht in DBObject

BSON nicht zu DBObject umgewandelt werden kann

Hier

ist der Code

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

// Now connect to your databases 
DB db = mongoClient.getDB("webAppDB"); 
System.out.println(db.getCollectionNames()); 
System.out.println("Connect to database successfully"); 
DBCollection collection = db.getCollection("users"); 
Document myDoc = collection.find(eq("i", 71)).first(); // Error Line 

die Verbindung zum Beispiel
http://mongodb.github.io/mongo-java-driver/3.2/driver/getting-started/quick-tour/

Antwort

1

Sie verwenden DBCollection wo die Methode find() die Signatur DBCursor find(DBObject query) hat, also sollten Sie DBObject als Argument übergeben.

Während eq() Methode wird in Filters definiert und hat Signatur <TItem> Bson eq(String fieldName, TItem value), so gibt sie Bson Typ, nicht DBObject.

Bson Typ() übergeben Methode zu finden, sollten Sie MongoCollection verwenden, (wo finden() ist FindIterable<TDocument> find(Bson filter)), nicht DBCollection.

MongoCollection ist neuer, da es nach Version 3.0 verfügbar ist. Also, vielleicht möchten Sie dabei bleiben, statt DBCollection.