Ich habe eine MongoCollection<Document>
, in der ich eine Sammlung zuweisen.
Ich versuche, einen Benutzer anhand seiner ID zu finden.
damit bekomme ich einen Fehler
java.lang.ClassCastException: com.mongodb.FindIterableImpl kann nicht sein In org.bson.Document
umwandeln
Wenn ich es versuche
%Vor%Ich erhalte einen Fehler
Die Methode find (Bson, Class) im Typ MongoCollection ist nicht anwendbar für die Argumente (BasicDBObject, BasicDBObject)
Versuchen Sie, einen Filter zu erstellen, der an die weitergegeben wird find()
Methode, um eine Teilmenge der Dokumente in Ihrer Sammlung zu erhalten. Um beispielsweise das Dokument zu finden, für das der Wert des Feldes _id
test
ist, würden Sie Folgendes tun:
Ihr Problem besteht darin, dass Sie davon ausgehen, dass die Methode find()
eine einzelne Document
zurückgibt. Es tut es nicht. Es gibt eine Liste von ihnen zurück.
Im MongoDB 2 Java Treiber gab es eine Methode für die DBCollection
Klasse namens findOne()
. In der MongoDB 3-Java-Treiber-API ist die findOne()
-Methode nicht vorhanden. Ihr neuer Code zum Finden genau eines Dokuments wird also auch diesem ähnlich:
Dabei wird eq("_id", 3)
als Filter für Ihre Sammlung bezeichnet.