본문 바로가기

Programming

[MongoDB] 커서(cursor) 및 간단 사용 예시

1. 커서(cursor)

몽고디비에서 커서는 쿼리의 결과와 일치하는 도큐먼트에 대한 접근을 할 수 있는 일종의 포인터 역할을 한다.

커서는 도큐먼트를 한 번에 하나씩 검색하므로 메모리 사용량이 작아, 대용량 데이터를 작업할 때 좋다.

find, findOne 및 aggregate와 같은 함수를 호출 시, 쿼리와 매치된 도큐먼트의 커서를 반환한다.

커서는 explain, hint, toArray, forEach, next, hasNext, count, skip, limit, sort, batchSize 및 project와 같이 커서의 동작 및 도큐먼트를 제어할 수 있는 기능들을 수행할 수 있다.

2. 커서(cursor) 간단 사용 예시

const cursor = db.collection("stocks").find().sort( { price: 1 } );

cursor.forEach(stock => {
  console.log(stock.corp_code);
}, err => {
  if(err) throw err;
});

위는 커서의 간단 사용 예시이다.

stocks 컬렉션에서 find로 조회 하여 cursor를 반환 받고, cursor의 forEach를 통해 각 문서를 순회하며 corp_code 정보를 로그로 출력한다.

반응형