내 머릿속 데이터베이스

[MongoDB] Java 연동하기 본문

Programming/Database

[MongoDB] Java 연동하기

파도소리 2015. 7. 24. 16:10

MongoDB가 3.x 버전으로 업그레이드 되면서 사용법이 조금 바뀌었다.



try {

MongoCredential credential = MongoCredential.createCredential("DB_ID", "DB_NAME", "DB_PW".toCharArray());

mongoClient = new MongoClient(new ServerAddress(strServerIP), Arrays.asList(credential));

} catch(Exception e) {

System.out.println(e);

return false;

}


MongoDatabase db = mongoClient.getDatabase("DB_NAME");

System.out.println(mongoClient.getCredentialsList().get(0));

System.out.println(db.getName());


MongoCollection<Document> collection = database.getCollection("DB_COLLECTION_NAME");

System.out.println("\nCollection Count : " + collection.count());


//- findOne() : 하나의 document를 불러오고 싶을 때.

//Document doc = collection.find().first();

//System.out.println(doc.toJson());


//특정 문서

//Document doc = new Document("DATE", "20121012").append("AGE", new Document("$gte", "20"));

//MongoCursor<Document> mc = collection.find(doc).limit(100).iterator();


//FindIterable<Document> fi = collection.find(); //나눠서 할 필요가 굳이 없다.

MongoCursor<Document> mc = collection.find().limit(10).iterator();

try {

while(mc.hasNext()) {

System.out.println(mc.next().toJson());

}

} finally {

mc.close(); //메모리 누수 방지

}


//다음 방법은 편하긴한데 cursor에 대해 메모리 누수가 발생할 여지가 있다.

// for (Document cur : collection.find()) {

//    System.out.println(cur.toJson());

//    }


mongoClient.close();


Comments