-
MongoDB 튜토리얼 4. CRUDDB/MongoDB 정리 2019. 10. 1. 11:41
배열 태그의 값으로 두 개의 요소는 다 가지지만 순서에 상관없이
1,2,3,4에 해당
4에 해당
배열에 요소가 많으면 ?
배열에 요소중 dim_cm 값이 한 요소가 15보다 큰 조건을 만족하고 또 다른 요소가 20보다 작은 조건을 만족하면
찾는다.
따라서 1번을 예로 들어 20보다 작은 14가 있고 15보다 큰 21이 있으니 해당한다.
그러면 ~보다 크고 ~보다 작은 조건을 만들려면? $eleMatch를 써주자
multiple 요소를 갖는 값을 찾을 때에는 eleMatch를 꼭 붙여주자.
배열의 길이를 요소로 할 때는 size를 사용할 수 있다.
커서의 활용
find() 메서드는 검색된 문서 집합에 대한 커서 반환
몽고 shell은 자바스크립트 기반. 변수로 커서를 받아올 수 있다.
db.sample.find()
다음과 같은 식으로 변수로 받아오지 않으면 커서가 쭉쭉 내려가면서 가리키는 문서들을 출력해준다.
var a = db.sample.find()
sample 컬렉션으로부터 문서를 찾고 문서가 100개라면 그것에 대한 커서(포인터)가 리턴된다.
a를 입력 시 100개 출력해준다.
while(a.hasNext())
{
printf(tojson(a.next()));}
도 가능하다.
db.sample.find(). count()
로 개수 확인 가능하다.
var a = db.sample.find(). count()
SQL과 MongoDB 비교
https://docs.mongodb.com/manual/reference/sql-comparison/
indexing
효율적인 질의 처리를 위해
인덱싱이 없다면 컬렉션 안에 모든 문서를 다 스캔해야 하기 때문(full-scanning)
필듣의 값에 의해 정렬
https://docs.mongodb.com/manual/indexes/
ensureIndex를 사용하면 됨.문서 패턴으로 정렬할 키, 정렬 방법
두 개 이상의 키를 묶어도 된다.
title기준 오름차순으로 정렬이 된다. 그 안에서 title이 같다면 2차 정렬 description.
인덱스 생성은 작업시간이 오래 걸린다면 default인 foreground 아닌 background로 돌릴 수 있다.
3.0부터 createIndex() 지원
'DB > MongoDB 정리' 카테고리의 다른 글
mongoDB 튜토리얼 6. 레플리카 셋 (0) 2019.11.19 MongoDB 튜토리얼 5. Aggregation (0) 2019.10.15 MongoDB 튜토리얼 3. CRUD (31) 2019.09.24 MongoDB 튜토리얼 2. CRUD (0) 2019.09.17 Mongo DB 튜토리얼 1. CRUD (0) 2019.09.10