조이 생각

반응형
[개발 환경]
- java : 1.8
- mongoDB : 3.12.11

 

[ 몽고디비 - 자바 커넥션 하는 방법]

2022.06.15 - [Java] - [Java] mongoDB 연결하는 방법 (자바에서 몽고디비 접근, jar 설정)

 

1. 데이터 하나 insert 하기

커넥션이 완료된 상태에서 연결된 collection을 넘겨받아 사용하는 메소드 하나를 구현하였다.

{ 
    "name" : "Joy", 
    "subject" : "math", 
    "score" : "75"
}

이런 모양의 데이터를 넣어보려고 한다.

 

아래와같이 Document 객체를 생성해서 원하는 데이터를 작성한다.

같은 depth에서는 Document에 append를 하면 되고,

값 부분에 depth 하나가 더 추가 되어야 하면 new Document로 객체를 생성하면된다.

 

작성한 코드를 실행!

 

 

StudioT3 툴에서 해당 collection을 더블클릭해보면

데이터가 들어가 있는 것을 확인할 수 있다.

 

 

2. 데이터 여러개 insert 하기


[전체 코드]

 

import java.util.Arrays;
import java.util.List;

import org.bson.Document;

import com.mongodb.MongoClient;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase;

public class main {
	public static void main(String[] args) {

		String ip = "127.0.0.1";
		int port = 27017;
		
		String db = "test2";
		String table = "test_collection";
		
		// mongoDB 연결
		MongoClient mongoClient = new MongoClient(ip, port);
		MongoDatabase mongoDb = mongoClient.getDatabase(db);
		MongoCollection<Document> collection = mongoDb.getCollection(table);
		
		// 데이터 하나씩 삽입
		insertOne(collection);
		// 데이터 여러개 한번에 삽입
		insertMany(collection);
		// 연결 끊기
		mongoClient.close();
	}
	
	// document 하나 삽입 
	public static void insertOne(MongoCollection<Document> collection) {
		Document doc = null;
		doc = new Document("name", "Joy")
				.append("subject", "math").append("score", "75");
		collection.insertOne(doc);
	}
	
	// document 여러개 삽입
	public static void insertMany(MongoCollection<Document> collection) {
		List<Document> docList = Arrays.asList(
				new Document("name", "Joy")
				.append("subject", "english").append("score", "90"),
				new Document("name", "John")
				.append("subject", "math").append("score", "60"),
				new Document("name", "John")
				.append("subject", "english").append("score", "100"),
				new Document("name", "Hannah")
				.append("subject", "math").append("score", "85"),
				new Document("name", "Hannah")
				.append("subject", "english").append("score", "92")
				);
		
		collection.insertMany(docList);
	}
반응형

이 글을 공유합시다

facebook twitter kakaoTalk kakaostory naver band
loading