Konvertieren von BSON-Typ ObjectId JSON (Speicherung in Mongodb) -Java

new Gson().toJson(new ObjectId())

Wenn ich die oben, die Ausgabe die ich bekomme, ist

"_id" : { "_uhrzeit" : 1374347520 , "_machine" : -1025067326 , "_inc" : 585905201 , "_new" : false}

Aber Eigentlich möchte ich es so

"_id":{"$oid":51eae100c2e6b6c222ec3431}

das ist die übliche mongodb-ID-format. Was ist die bevorzugte Methode in Java für diese?

Update:

Mein Wert Objekt

import com.google.gson.annotations.SerializedName;
import org.bson.types.ObjectId;

public class TaskObject {

    @SerializedName("_id")
    private ObjectId _id;

    @SerializedName("revNo")
    private int revNo;
}

Ich versuche zu speichern, um mongodb mit einem benutzerdefinierten _id

TaskObject taskObject = new TaskObject();
taskObject.set_id(new ObjectId());
TaskMongoDBClient.getInstance().
        persistNewTaskData(new Gson().toJson(taskObject));

Was gespeichert wird, in der mongodb sieht wie folgt aus.

_id: { "_uhrzeit" : 1397464341 , "_machine" : 1441187434 , "_inc" : -1687457948 , "_new" : true}

Statt _id:{"$oid": xxxx} kann ich die Abfrage durch die Verwendung eines oid-Wert.

Was mache ich hier falsch? bitte helfen Sie.

Dank

  • Ich fügte hinzu, mehr details.
  • Sie meinen, Sie wollen hinzufügen neue Eigenschaft $oid in Json
  • Es tut mir Leid,jetzt ich kann nicht finden, einen besseren Weg, um zu erklären bei meiner Frage nicht weiter. Wenn jeder von Euch wurde in diesem Zusammenhang, bitte lassen Sie mich wissen, wie war Ihre Herangehensweise oder die was sind mehr-kompatible libraries mit BSON Datentypen.
  • api.mongodb.org/java/current/org/bson/types/ObjectId.html
Schreibe einen Kommentar