728x90
반응형
MongoDB는 데이터 타입만으로 크기를 비교할 수 있다.
ex. 문자열(4byte)과 배열(6byte)을 비교하면 배열이 더 크다고 판단.
MongoDB의 데이터 타입, 밑으로 내려갈 수록 비교 순서 큼
타입 | 설명 |
MinKey | 모든 값보다 작은 값 |
Null | null 값 |
Numbers | 4byte ~ 8byte, 정수, 실수 |
Symbol, String | UTF-8 문자열 |
Object | 객체(도큐먼트) |
Array | 배열 |
BinData | 이진(바이너리) 데이터 |
ObjectId | 문서용 12byte ID, RDB의 PK와 같은 개념 |
Boolean | true, false 값 저장 |
Data | 1970년 1월1일 부터의 시간을 1/1000초 단위로 저장 |
TimeStamp | 타임스탬프 |
Regular Expression | 정규 표현식 |
MaxKey | 모든 값보다 큼 |
MongoDB는 논리연산자를 통해 여러 조건을 만족하는 도큐먼트를 찾는 쿼리를 작성할 수 있다.
MongoDB의 논리연산자
연산자 | 설명 |
$and | 조건이 모두 만족하는 도큐먼트 |
$or | 조건이 중 하나라도 만족하는 도큐먼트 |
$nor | 조건이 모두 만족하지 않는 도큐먼트 |
$not | 조건을 만족하지 않는 도큐먼트 |
논리연산자 연습
$and
// db.컬렉션.find({$and:[조건들]})
db.by_type.find(
... {"$and":[
... {"type":"차대차"},{"accident_count":{"$gte":100}},{"death_toll":0} ] },
... {"city_or_province":true, "county":true})

$or
// db.컬렉션.find({$or:[조건들..]})
db.by_type.find({type:"차대사람",
... $or:[{death_toll:0},{heavy_injury:0}]},
... {"city_or_province":true, county:true})

$nor
// db.컬렉션.find({$nor:[조건들]})
db.by_type.find(
... {"$nor":[
... {"type":"차대차"},{"accident_count":{"$gte":100}},{"death_toll":0} ] },
... {"city_or_province":true, "county":true})

$not
// db.컬렉션.find({"필드":{$not:{조건}}})
db.by_type.find({ "death_toll": { $not: { $lt: 30 } } })

728x90
반응형
'DB > MongoDB' 카테고리의 다른 글
[MongoDB] 12. 쿼리작성하기 - 정규 표현식, 문자열 연산자, Cursor, $(배열 위치 연산자), $where 연산자 (1) | 2022.10.13 |
---|---|
[MongoDB] 11. 쿼리작성하기 - 배열 요소,배열 연산자로 쿼리하기 (0) | 2022.10.09 |
[MongoDB] 9. 쿼리작성하기 - 연산자로 쿼리하기 (0) | 2022.10.05 |
[MongoDB] 8. 기본 명령어 - $사용법 ,deleteMany(), drop() (0) | 2022.09.29 |
[MongoDB] 7. 기본 명령어 - replace, update (0) | 2022.09.29 |