- 전체
- Sample DB
- database modeling
- [표준 SQL] Standard SQL
- G-SQL
- 10-Min
- ORACLE
- MS SQLserver
- MySQL
- SQLite
- postgreSQL
- 데이터아키텍처전문가 - 국가공인자격
- 데이터 분석 전문가 [ADP]
- [국가공인] SQL 개발자/전문가
- NoSQL
- hadoop
- hadoop eco system
- big data (빅데이터)
- stat(통계) R 언어
- XML DB & XQuery
- spark
- DataBase Tool
- 데이터분석 & 데이터사이언스
- Engineer Quality Management
- [기계학습] machine learning
- 데이터 수집 및 전처리
- 국가기술자격 빅데이터분석기사
- 암호화폐 (비트코인, cryptocurrency, bitcoin)
NoSQL [mongodb, java] Extract ISODate as date string from MongoDb using Java driver 3.8
2020.11.07 17:24
[mongodb, java] Extract ISODate as date string from MongoDb using Java driver 3.8
[Question]
Below is mongo collection:
{"_id":ObjectId("5a8f997fcdc2960adae4f919"),"COBDate":ISODate("2018-02-15T18:30:00.000Z"),"Version":1}
Code to extract COBDate from mongo
MongoCollection<Document>collection=db.getCollection(collectionName);
String jsonMessage=collection.find().iterator().next().toJson;
JSONObject message=new JSONObject(jsonMessage);
String date=message.get(COBDate).toString();
But it extracted the value of COBDate as {"$date":1518719400000}.
Can someone help me to get it in some date format like "2018-02-15T18:30:00.000Z"?
mongo Driver 3.8 and mongodb 3.2.6 i am getting above issue. mongo driver 3.6 working fine...
Solution:-
// 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);
[Answer]
If you assign the find response to a org.bson.Document (rather than invoking toJson() on it) then you can read any of its attributes in a type specific manner. For a Date attribute this means invoking document.getDate("...").
For example:
MongoCollection<Document> collection = mongoClient.getDatabase("...").getCollection("...");
Document document = collection.find().iterator().next();
// now you have a Date object ...
Date cob = document.getDate("COBDate");
/// ... which you can use _as is_ or format into a String as follows ...
DateFormat df = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'");
/// this will print: 2018-02-15T18:30:00.000Z
System.out.println(df.format(cob));
[출처] https://stackoverflow.com/questions/51284197/extract-isodate-as-date-string-from-mongodb-using-java-driver-3-8
본 웹사이트는 광고를 포함하고 있습니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
댓글 0
| 번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
|---|---|---|---|---|
| 공지 | 오라클 기본 샘플 데이터베이스 | 졸리운_곰 | 2014.01.02 | 86097 |
| 공지 | [SQL컨셉] 서적 "SQL컨셉"의 샘플 데이타 베이스 SAMPLE DATABASE of ORACLE | 가을의 곰을... | 2013.02.10 | 78617 |
| 공지 | [G_SQL] Sample Database | 가을의 곰을... | 2012.05.20 | 95331 |

