- 전체
- JAVA 일반
- JAVA 수학
- JAVA 그래픽
- JAVA 자료구조
- JAVA 인공지능
- JAVA 인터넷
- Java Framework
- Java GUI (AWT,SWING,SWT,JFACE)
- SWT and RCP (web RAP/RWT)[eclipse], EMF
JAVA 자료구조 [MongoDB/Java] MongoDB에 JSON 형식 데이터 삽입하기
2021.07.13 21:56
[MongoDB/Java] MongoDB에 JSON 형식 데이터 삽입하기
getDB()로 몽고DB에 문서를 삽입하는 실습을 했다.
결과는 성공적이었지만 getDB()가 사용이 지양되는(deprecated) 메소드였다.
(database, col 변수에는 각각 몽고DB의 database, collection 이름으로 미리 할당해뒀다.)
public void testMongoInsert() {
@SuppressWarnings("deprecation")
DB DB = mongoClient.getDB(database);
DBCollection collection = DB.getCollection(col);
String json = "{'name' : 'elsa',"
+ "'age' : '20',"
+ "'family' : {'person1' : 'anna', 'person2' : 'olaf'}}}";
DBObject dbObject;
dbObject = (DBObject)JSON.parse(json);
collection.insert(dbObject);
}
그래서 대체할 수 있는 메소드를 찾아봤다.
찾아봤더니 getDatabase() 메소드를 사용할 수 있었다.
MongoDatabase 의 getCollection() 메소드의 반환값도 기존과 달랐다.
또 MongoCollection 에는 insert() 메소드가 없고 insertMany(), insertOne(), listIndexes() 메소드가 있다.
기술은 계속해서 변화하고 낡은 기술은 사라지게 되어 있으며
유지보수를 고려했을 때도 낡은 기술은 과감히 버려야 한다.
따라서 deprecated인 코드를 버리고 바뀐 코드를 써보고자 한다.
public void testMongoInsert() {
MongoDatabase DB = mongoClient.getDatabase(database);
MongoCollection<Document> collection = DB.getCollection(col);
String json = "{'person1' : 'anna', 'person2' : 'olaf'}}";
Document document = new Document()
.append("name", "elsa")
.append("age", "20")
.append("family", JSON.parse(json));
collection.insertOne(document);
MongoDB Compass로 확인해보니 잘 들어와있다. 성공~!
[출처] https://hayden-archive.tistory.com/361
본 웹사이트는 광고를 포함하고 있습니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.