【发布时间】:2018-12-19 10:03:33
【问题描述】:
下面是mongo集合:
{"_id":ObjectId("5a8f997fcdc2960adae4f919"),"COBDate":ISODate("2018-02-15T18:30:00.000Z"),"Version":1}
从 mongo 中提取 COBDate 的代码
MongoCollection<Document>collection=db.getCollection(collectionName);
String jsonMessage=collection.find().iterator().next().toJson;
JSONObject message=new JSONObject(jsonMessage);
String date=message.get(COBDate).toString();
但是它将COBDate的值提取为{"$date":1518719400000}。
有人可以帮我以"2018-02-15T18:30:00.000Z" 之类的日期格式获取它吗?
mongo Driver 3.8 和 mongodb 3.2.6 我遇到了上述问题。 mongo 驱动程序 3.6 工作正常...
解决方案:-
// or use a connection string
MongoClientURI connectionString = new MongoClientURI("mongodb://localhost:27017");
MongoClient mongoClient = new MongoClient(connectionString);
MongoDatabase database = mongoClient.getDatabase("testdb");
MongoCollection<Document> collection = database.getCollection("user");
//JsonWriterSettings writerSettings = new JsonWriterSettings(JsonMode.SHELL, true);
//System.out.println(doc.toJson(writerSettings));
Document myDoc = collection.find().first();
//System.out.println(myDoc.toJson(writerSettings));
System.out.println("output (JSON) = " + com.mongodb.util.JSON.serialize(myDoc));
System.out.println("output (JSON) = " + myDoc);
【问题讨论】:
-
您好,我正在使用 java 驱动程序 3.8 和 mongo db 3.2.6 发生上述问题,但 java 驱动程序 3.6 工作正常有什么想法吗?
标签: java mongodb datetime mongodb-query mongo-java-driver