Wie man die _id aus einem Dokument MongoDB Java
Ich bin mit MongoDB
und Java-driver
.
Muss ich einfügen, um ein Dokument in MongoDB und rufen Sie die _id dieses Dokuments. Die insert
Methode zurückgeben [WriteResult][1]
.
Ich weiß nicht, wie ich das WriteResult-Objekt zum abrufen der _id, weil ich versuche, dies zu tun:
public void insertDocument(BasicDBObject fact){
DBCollection coll = this.getCollection("facts");
WriteResult result = coll.insert(fact);
String id = (String) result.getField("_id");
System.out.println("--------------------------->"+id);
}
Und ich habe einen null - String
im println
.
Meine Frage ist, wie kann ich das gesamte Objekt (mit _id), dass ich einfach in die Datenbank eingefügt.
Dank!
WriteResult
ist ein status-Objekt, nicht eine Kopie des Elements eingefügt in die Sammlung, und beachten Sie, dassresult.getField
ist veraltet.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Nach der
BasicDBObject
Instanz eingelegt ist, wird die MongoDB-Treiber ändert die Instanz der Begriffe und setzen einen Wert für die_id
Bereich (wenn Sie noch nicht so angegeben).Daher können Sie immer noch die
fact
- Objekt und Holen Sie sich die_id
von dort:fact
. Natürlich, ändern Sie die Signatur der Methode zupublic DBObject insertDocument(BasicDBObject fact)
Document
Klasse. Nach dem einsetzen einerDocument
nennengetObjectId("_id")
zum abrufen der server-generierte_id
Feld.