◎ find() - document를 조회하는 메소드
- 반환 값은 cursor.
- criteria에 해당하는 document들을 선택하여 cursor로 반환함.
- query 요청의 결과값을 가리키는 pointer.
- cursor객체를 통해 데이터의 수를 limit(제한)하거나 데이터를 sort(정렬)함.
※cursor란?
쿼리의 결과 집합에 대한 포인터. 라고 생각하면 될듯!
쉽게 말하자면 메모리 저장주소들의 값의 집합..정도,.. 되려나..
- find()함수
- pretty() 함수를 같이 썼을 때
나는 이것이 에러인 줄 알았으나... 4개 이하이거나 중첩된 문서가 아닐 경우에는 그냥 한줄로 나온다는..!
하나 더 배웠으니 되었다! (나쁜 pretty ㅜㅜ)
▶ query 옵션
비교(Comparison) 연산자, 논리(Logical) 연산자, 요소(Element) 연산자, 배열(Array) 연산자, 등등
( 자세한 옵션은 → https://docs.mongodb.com/v3.2/reference/operator/query/ 여기서)
- 비교(Comparison) 연산자
ex) id의 값이 3이상인 document 조회
- 논리(Logical)연산자
ex ) id의 값이 3이상이면서 lvl값이 4인 document 조회
괄호 정말 중요함... 진짜 중요함....
- $regex 연산자
document를 정규식을 통해 찾을 수 있음.
regex연산의 옵션으로는 다음과 같다.
ex) 이름에 ta가 들어가는 document조회 ( 대소문자 무시)
- $where연산자
where연산자를 통하여 javascript expression(표현식)을 사용할 수 있음.
ex) class의 문자길이가 7 이상인 document 조회
- $elemMatch 연산자
embedded documents(중첩되었지만 독립적인 그런 문서..?!) 배열을 쿼리할 때 사용
▶ projection 옵션 - 쿼리의 결과값에서 보여질 field를 정함.
다음과 같이 실행 결과, true/false 둘다 통일성있게 적어주어야 하는듯 하다.
만약 true, false 둘다 쓸 거면 존재하는 모든 key를 다써줘야 하는듯. 안그럼 에러발생!
그러니까... 보고 싶은 field만 쓰던지, 보기 싫은 field만 쓰던지 해서 true/false 지정해주기!
- $slice 연산자
embedded document 배열을 읽을때 limit 설정.
여러개의 embedded document가 있을 때 slice: n 으로 하면 n개의 document만 출력.
- $elemMatch 연산자
query연산자의 $elemMatch 연산자와 사용법은 같지만 역할이 다르다.
(요놈은 조금 더 공부하고 추가하기!)
ㅠㅠ 쉬운내용이라고 미루다가 큰일날 뻔... 바로바로 공부해야지!!!
'SEMINAR > 몽고DB' 카테고리의 다른 글
MongoDB Error: couldn't connect to server 127.0.0.1:27017 오류해결 (0) | 2022.12.07 |
---|---|
MONGODB - update() (0) | 2020.05.07 |
MongoDB - sort(), limit(), skip() (0) | 2020.05.04 |
MONGODB-Database/Collection/Document 생성·제거와 Insert() (0) | 2020.04.23 |
MONGODB-소개, 데이터모델 (0) | 2020.04.22 |