728x90
반응형
MogoDB의 쿼리 구조
- 특징
- MongoDB의 쿼리는 객체 형태로 작성한다.
- SQL보다는 가독성이 떨어짐
- 값으로 쿼리하기
//db.컬렉션.find({필드:값})
db.container.find({"name":"가위","price":3000})
- 연산자로 쿼리하기
//db.컬렉션.find({필드:{연산자:값}})
db.container.find( { height : {$gte : 175 } } ) // height >= 175
쿼리에 사용되는 비교연산자들
연산자 | 설명 |
$eq | 같다 |
$ne | 같지 않다 |
$gt | 크다 |
$gte | 크거나 같다 |
$lt | 작다 |
$lte | 작거나 같다 |
$in | 하나라도 있는 경우 출력 |
$nin | 하나도 없는 경우 출력 |
비교 연산자 연습
- $eq
// db.컬렉션.find({필드: {$eq:"비교할 값"}})
db.inventory.find({item:{$eq:"hello"}}) // item의 value가 hello 인 도큐먼트들 출력

- $ne
// db.컬렉션.find({필드: {$ne:"비교할 값"}})
db.inventory.find({item:{$ne:"bye"}}) // item의 value가 bye가 아닌 도큐먼트 출력

- $gt
// db.컬렉션.find({필드:{$gt:비교할 값}})
db.by_type.find({"city_or_province":"서울","type":"차대차","accident_count":{$gt:2000}})
// city_or_province가 서울이고, type이 차대차이고 accident_count가 2000보다 큰 도큐먼트 출력

- $gte
// db.컬렉션.find({필드:{$gte:비교할 값}})
db.by_type.find({"city_or_province":"서울","type":"차대차","accident_count":{$gte:1800}})
// city_or_province가 서울이고, type이 차대차이고 accident_count가 1800이상인 도큐먼트 출력

- $lt
// db.컬렉션.find({필드:{$gt:비교할 값}})
db.by_type.find({"city_or_province":"서울","type":"차대차","accident_count":{$lt:600}})
// city_or_province가 서울이고, type이 차대차이고 accident_count가 600보다 작은 도큐먼트 출력

- $lte
// db.컬렉션.find({필드:{$gt:비교할 값}})
db.by_type.find({"city_or_province":"서울","type":"차대차","accident_count":{$lte:550}})
// city_or_province가 서울이고, type이 차대차이고 accident_count가 550이하인 도큐먼트 출력

- $in
// db.컬렉션.find({필드:{$in:[값1,...]}})
db.inventory.find({tags:{$in:["red"]}})
// tags에 red가 있는 도큐먼트 출력

- $nin
// db.컬렉션.find({필드:{$nin:[값1,...]}})
db.inventory.find({tags:{$nin:["black","blue"]}})
// tags에 black, blue가 둘다 없는 도큐먼트 출력

728x90
반응형
'DB > MongoDB' 카테고리의 다른 글
[MongoDB] 11. 쿼리작성하기 - 배열 요소,배열 연산자로 쿼리하기 (0) | 2022.10.09 |
---|---|
[MongoDB] 10. 쿼리작성하기 - 타입, 논리 연산자로 비교하기 (0) | 2022.10.09 |
[MongoDB] 8. 기본 명령어 - $사용법 ,deleteMany(), drop() (0) | 2022.09.29 |
[MongoDB] 7. 기본 명령어 - replace, update (0) | 2022.09.29 |
[MongoDB] 6. 기본 명령어 - find() (0) | 2022.09.29 |