- Today
- Total
내 머릿속 데이터베이스
[MongoDB] Java 연동하기 본문
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();