Choi의 고유결계

[java에서 MongDB 사용하기] - 2. 몽고디비 데이터값 가져오기 본문

DB/Mongo

[java에서 MongDB 사용하기] - 2. 몽고디비 데이터값 가져오기

믿을수없는맛 2019. 2. 21. 19:45
반응형

저번에는 java에서 단순히 mongodb와 연결만하는 것을 보여드렸는데요

이번 시간에는 데이터와 값을 가져오는 시간을 가져보겠습니다.

목차

  1. 여러개 가져오기

  2. 하나만 가져오기

  3. Document값 가져오기

여러개_가져오기

        mongoClient = new MongoClient("localhost",PORT);
    DB = mongoClient.getDatabase(DB_NAME);
    System.out.println("Connected to the database successfully");
    documentMongoCollection = DB.getCollection(col);

자 일단 이렇게 기본적으로 mongoDB에 연결 해주도록합니다.

저번 시간에 콜렉션 까지 받아왔는데요. 오늘은 콜랙션을 받아온 documentMongoCollection 변수를 이용해 콜랙션에 있는 도큐먼트들을 가져 오도록 할게요

MongoCursor<Document> it = documentMongoCollection.find().iterator();

.find() 메소드를 이용해서 콜렉션에 있는 모든 도큐먼트들을 가져옵니다.
가져온 도큐먼트들 .iterator()메서드를 이용해서 Iterator형식으로 반환 해줍니다

while ( it.hasNext() )// 다음커서 인덱스에 값이 있으면 true 없으면 false 
{  
    System.out.println(it.next());// .next() 현제 커서의 값을 반환하고 커서를 다음으로 옮긴다 
    i++; 
}

Iterator 를 이용해서 반환하는 도큐먼트들을 출력을 해주고 있는데요.

MongoCursor<Document> it = documentMongoCollection.find().iterator();

it.next()의 반환형은 제네릭으로 Document를 써줬기때문에 도큐먼트 형식으로 반환이 됩니다.

Document는 mongoDB 드라이버에 포함 되어있는 org.bson.Document

하나만_가져오기

하나만 가져오는것은 위에와 다를게 별로 없습니다. 더 짧은 코드죠

MongoCursor<Document> it = documentMongoCollection.find().iterator();

Iterator형식으로 가져온 반면

Document it = documentMongoCollection.find().first();

first() 메서드를 이용해서 검색되어진 가장 첫번째 도큐먼트를 반환 하게됩니다.

Document값_가져오기

자 마지막으로 이렇게 가져온 도큐먼트들을

 it.get("key");

get(key)을 이용해서 key값을 주고 그 key에 맞는 값을 반환하게 됩니다.


다음 강좌에서는 이번 시간에 다루지 못한 find() 매개변수로

쿼리를 줘서 특정 조건에 맞는도큐먼트들을 가져오는 시간이 되겠습니다. 감사합니다

반응형
Comments