pom.xml
<!-- https://mvnrepository.com/artifact/org.mongodb/mongo-java-driver -->
<dependency>
<groupId>org.mongodb</groupId>
<artifactId>mongo-java-driver</artifactId>
<version>3.4.2</version>
</dependency>
데이터 조회
public void mongoDB() {
String url = "mongodb://localhost:27017/local";
String database = "quizdb";
String table = "quiz";
//mongoDB 연결
MongoClient mongoClient = MongoClients.create(url);
//데이터베이스 선택
MongoDatabase mongoDb = mongoClient.getDatabase(database);
//컬렉션 선택
MongoCollection<Document> collection = mongoDb.getCollection(table);
// 쿼리 작성 (예: 모든 문서 조회)
Document query = new Document();
// 쿼리 실행
for (Document document : collection.find(query)) {
System.out.println(document.toJson());
}
}
데이터 등록
public void insertMongoDB() {
String url = "mongodb://localhost:27017/local";
String database = "quizdb";
String table = "quiz";
//mongoDB 연결
MongoClient mongoClient = MongoClients.create(url);
//데이터베이스 선택
MongoDatabase mongoDb = mongoClient.getDatabase(database);
//컬렉션 선택
MongoCollection<Document> collection = mongoDb.getCollection(table);
// 쿼리 작성
Document query = new Document();
query.append("question", "초코케잌의 맛은....")
.append("answer", "맛있다").append("author", "admin");
// 데이터 삽입
collection.insertOne(query);
System.out.println("Data inserted successfully!");
//여러 데이터 삽입
List<Document> list = new ArrayList<Document>();
Document query1 = new Document();
query1.append("question", "mongoDB는 noSql이다")
.append("answer", "true").append("author", "admin");
list.add(query1);
Document query2 = new Document();
query2.append("question", "당신이 가장 좋아하는 언어는?")
.append("answer", "Java").append("author", "admin");
list.add(query2);
//데이터 삽입
collection.insertMany(list);
System.out.println("Data inserted successfully!");
}
데이터 수정
public void updateMongoDB() {
String url = "mongodb://localhost:27017/local";
String database = "quizdb";
String table = "quiz";
//mongoDB 연결
MongoClient mongoClient = MongoClients.create(url);
//데이터베이스 선택
MongoDatabase mongoDb = mongoClient.getDatabase(database);
//컬렉션 선택
MongoCollection<Document> collection = mongoDb.getCollection(table);
// 업데이트할 조건
Document query = new Document("author", "user");
//업데이트 할 내용 설정
Document update = new Document("$set", new Document("author", "admin"));
//데이터 업데이트
collection.updateOne(query, update);
System.out.println("Data updated successfully!");
//Filters, Updates.set 메서드 사용 시
collection.updateOne(Filters.eq("answer", "true"), Updates.set("answer", "True"));
}
데이터 삭제
public void deleteMongoDB() {
String url = "mongodb://localhost:27017/local";
String database = "quizdb";
String table = "quiz";
//mongoDB 연결
MongoClient mongoClient = MongoClients.create(url);
//데이터베이스 선택
MongoDatabase mongoDb = mongoClient.getDatabase(database);
//컬렉션 선택
MongoCollection<Document> collection = mongoDb.getCollection(table);
// 삭제할 조건
Document query = new Document();
//모든 데이터 삭제
collection.deleteMany(query);
System.out.println("Data deleted successfully!");
}