본문 바로가기

728x90
반응형

DB

(22)
[MongoDB] 12. 쿼리작성하기 - 정규 표현식, 문자열 연산자, Cursor, $(배열 위치 연산자), $where 연산자 정규 표현식 MongoDB에서 정규 표현식을 사용하여 원하는 도큐먼트를 선택할 수 있다. // db.컬렉션.find({필드:/정규표현식/}) db.area.find({county:/시$/}).count() // 시로 끝나는 county 도큐먼트의 개수 정규 표현식 사용을 위한 메타 문자 메타문자 설명 예시 * 앞의 문자를 0개 이상 찾음 zo* --> z, zo, zoo,zooo + 앞의 문자를 1개 이상 찾음 zo+ --> zo, zoo, zooo ? 앞의 문자를 0개나 1개 찾음 zo? --> z,zo ^ ^문자열 : 문자열로 시작하는 것을 다 찾음 ^[^문자열] : 문자열로 시작하는 것을 제외하고 다 찾음 ^박 : 박, 박수 ^[^박] : 홍길동, 김철수 $ $문자열 : 문자열로 끝나는 것을 다 찾..
[MongoDB] 11. 쿼리작성하기 - 배열 요소,배열 연산자로 쿼리하기 MongoDB에서 배열 요소로 쿼리를 할 수 있다. //db.컬렉션.find({필드:배열 요소}) or db.컬렉션.find({필드:[배열 요소들]}) db.inventory.find({tags:"red"},{_id:false}) db.inventory.find({tags:["red","blank"]},{_id:false}) MongoDB에서 배열 연산자를 통한 쿼리를 할 수 있다. 배열 연산자 종류 연산자 설명 $all 순서와 상관없이 요소가 모두 포함되면 선택 $elemMatch 매치 조건과 맞는 요소를 가진 도큐먼트 반환(범위 질의 가능) $size 해당 배열의 크기가 같은 도큐먼트 선택 $slice 배열의 부분 집합을 반환 $all // db.컬렉션.find(필드:{$all:[요소들]}) db.i..
[MongoDB] 10. 쿼리작성하기 - 타입, 논리 연산자로 비교하기 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 정규 표현식 ..
[MongoDB] 9. 쿼리작성하기 - 연산자로 쿼리하기 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:"비교할 값..
[MongoDB] 8. 기본 명령어 - $사용법 ,deleteMany(), drop() $ 사용법 // 사용법1 : 배열 위치 기반 접근 db.컬렉션.updateOne( {"접근할 필드.배열안의 필드":값}, {$수정연산자 : {접근할 필드.$.배열안의 필드 : 수정할 값} // 2. 필드 값이 배열인 경우 수정 - arrayFilters // 배열 요소의 일부를 수정할 때의 명령어 db.컬렉션.updateMany( {query}, {$수정연산자} : {배열.$[id]" : 이 값으로 수정}}, {arrayFilters : [{배열 : 조건 값}]} ) 특정 도큐먼트의 삭제 - deleteMany() db.컬렉션.deleteMany({필드 : 값}) // 필드의 값에 해당하는 도큐먼트 삭제 컬렉션의 삭제 - drop() db.컬렉션.drop() // 컬렉션이 삭제됨

728x90
반응형