finden Sie in MongoCollectionDocument

8

Ich habe eine MongoCollection<Document> , in der ich eine Sammlung zuweisen. Ich versuche, einen Benutzer anhand seiner ID zu finden.

%Vor%

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)

    
jimakos17 03.06.2015, 16:11
quelle

3 Antworten

8

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:

%Vor%     
chridam 03.06.2015, 16:23
quelle
0

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:

%Vor%

Dabei wird eq("_id", 3) als Filter für Ihre Sammlung bezeichnet.

    
aahoogendoorn 03.01.2017 09:54
quelle
-1

Mach das -

%Vor%     
Amit Das 03.06.2015 16:42
quelle

Tags und Links