커서(Cursor)
- 커서란?
- 테이블에서 여러 개의 행을 쿼리한 후에 쿼리의 결과인 행 집합을 한 행씩 처리하기 위한 방식
- 커서의 초기값은 첫 번째 행 이전을 가리킴
- next()를 이용하여 다음행으로 이동하여 해당 행의 값을 반환
- 도큐먼트 준비
for(i=0; i<100; i++0) { db.foo.insertOne({x:i}); }
- 커서 생성
var cursor = db.foo.find();
- 데이터 fetch
while(cursor.hasNext()){ obj = cursor.next(); print(obj.x); } // 0부터 99까지 콘솔에 출력

연습문제


인덱싱 : 검색을 위해 , 읽기를 빠르게 하기 위해




인덱스 생성해서 걸리는 시간 비교하기
- db.users.find({userid:20300})
263 9
db.users.createIndex({userid:-1}) userid_-1
- db.users.find({score:53})
270 16
db.users.createIndex({score:1}) score_1
- db.users.find({userid:{$gt:3333}})
274 633
db.users.createIndex({userid:-1}) userid_-1
- db.users.find({userid:11111}).sort({score:1})
277 9
db.users.createIndex({userid:1, score:1}) userid_1_score_1
- db.users.find({userid:1222, score:{$gt:22}})
265 0
db.users.createIndex({userid:1, score:1}) userid_1_score_1'
- db.users.find({score:{$gt:22},age:22})
270 13
db.users.createIndex({score:1, age:1}) score_1_age_1
- db.users.find({userid:2222, score:{$gt:22}, age:22})
271 11
db.users.createIndex({userid:-1, score:1, age:1}) userid_-1_score_1_age_1
'JX405기_비트 > mongoDB' 카테고리의 다른 글
| Day17 -1 인덱싱(단일 인덱스, 복합인덱스), 텍스트 인덱스, 공간 정보 쿼 (0) | 2023.02.08 |
|---|---|
| Day17-0 MongoDB Day16 요약 & SQL과 비교 (0) | 2023.02.08 |
| Day16-3 MongoDB 연습 문제1 (0) | 2023.02.07 |
| Day16-2 MongoDB mongosh를 이용한 CRUD (0) | 2023.02.07 |
| Day16-1 MongoDB 정의, 기본 개념 (0) | 2023.02.07 |