hel*_*ava 8 java mongodb bson spring-data-mongodb
From Java driver, I want to save a document that looks like below json in MongoDb
{ "ts" : Timestamp(1421006159, 4)}
Run Code Online (Sandbox Code Playgroud)
Options I tried.
Option 1: Map doc= new HashMap(1);
doc.put("ts", new BSONTimeStamp());
Run Code Online (Sandbox Code Playgroud)
It results in the below not required format
{"ts" : {
"_inc" : 0,
"_class" : "org.bson.types.BSONTimestamp"
}}
Run Code Online (Sandbox Code Playgroud)
Option 2:
doc.put("ts",new Timestamp(new Date().getTime()));
Run Code Online (Sandbox Code Playgroud)
it results in :
{"ts" : ISODate("2015-01-12T05:36:43.343Z")}
Run Code Online (Sandbox Code Playgroud)
我将以下内容与默认的 mongodb-java-driver (无 spring 数据)一起使用。
DBObject doc= new BasicDBObject();
doc.put("ts", new BSONTimeStamp(1421006159, 4));
Run Code Online (Sandbox Code Playgroud)
MongoDB 的查找结果是:
{ "_id" : ObjectId("54b396da7fe45ee2d6c5e03a"), "ts" : Timestamp(1421006159, 4) }
Run Code Online (Sandbox Code Playgroud)
因此,类名和类属性及其值的序列化BSONTimeStamp取决于 spring-data-mongodb 序列化器。您应该使用默认的 java-mongodb-driver 或使用 JavaDate和ISODateMongoDB 中的格式。
或者,也许您可以扩展 spring-data-mongodb 序列化器并为该类编写自己的序列化器和反序列化器BSONTimeStamp 以使用 MongoDB Timestamp 类型。
| 归档时间: |
|
| 查看次数: |
15768 次 |
| 最近记录: |