新GSON()的toJSON(新的ObjectId())轉換BSON類型的ObjectId以JSON(MongoDB中存儲)-Java
當我做以上,輸出我得到的是
「 _id」:{ 「_time」:1374347520, 「_MACHINE」:-1025067326, 「_inc」:585905201, 「_new」:假}
但實際上我想這是因爲
「_id」:{ 「$ OID」:51eae100c2e6b6c222ec3431}
這是通常的mongodb的ID的格式。 Java中的這個更好的方法是什麼?
更新:
我的值對象
import com.google.gson.annotations.SerializedName;
import org.bson.types.ObjectId;
public class TaskObject {
@SerializedName("_id")
private ObjectId _id;
@SerializedName("revNo")
private int revNo;
}
我想這個存儲使用自定義到MongoDB的_id
TaskObject taskObject = new TaskObject();
taskObject.set_id(new ObjectId());
TaskMongoDBClient.getInstance().
persistNewTaskData(new Gson().toJson(taskObject));
什麼是存儲在MongoDB中看起來是這樣的。
_id:{ 「_time」:1397464341, 「_MACHINE」:1441187434, 「_inc」:-1687457948, 「_new」:真正}
相反_id的:{ 「$ OID」: xxxx},我可以通過使用oid值進行查詢。
我在做什麼錯在這裏?請幫忙。
謝謝
我添加了更多細節。 –
你的意思是你想在Json –
中添加新的屬性$ oid。很抱歉,現在我找不到更好的方式來解釋我的問題了。如果您有任何人在這種情況下,請告訴我您的方法是什麼,或者什麼是與BSON數據類型更兼容的庫。 –