[개발 환경]
- java : 1.8
- mongoDB : 3.12.11
[ 몽고디비 - 자바 커넥션 하는 방법]
2022.06.15 - [Java] - [Java] mongoDB 연결하는 방법 (자바에서 몽고디비 접근, jar 설정)
커넥션이 완료된 상태에서 연결된 collection을 넘겨받아 사용하는 메소드 하나를 구현하였다.
{
"name" : "Joy",
"subject" : "math",
"score" : "75"
}
이런 모양의 데이터를 넣어보려고 한다.
아래와같이 Document 객체를 생성해서 원하는 데이터를 작성한다.
같은 depth에서는 Document에 append를 하면 되고,
값 부분에 depth 하나가 더 추가 되어야 하면 new Document로 객체를 생성하면된다.
작성한 코드를 실행!
StudioT3 툴에서 해당 collection을 더블클릭해보면
데이터가 들어가 있는 것을 확인할 수 있다.
[전체 코드]
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);
}