분류 전체보기(63)
-
쿼리 작성하기(2)
문자열 연산자 : $regex MongoDB의 정규 표현식 flag(생략 가능) i : 대소문자 무시 m : 앵커(^) 사용시 \n 무력화 x : 정규식 내의 공백 무시 s : (.)을 사용할 때 \n 포함해서 매치 정규 표현식 메타문자 * : 0번 이상의 반복 + : 1번 이상의 반복 ? : 임의의 문자 0개나 1개 ^ : 문자열의 시작 $ : 문자열의 끝 [^a] : a를 제외한 것 . : \n을 제외한 모든 단일 문자 [ ] : 어떤 범위 값 { } : 반복 수량자 | : or의 의미 / : 정규식 패턴의 시작과 끝 \w : A-Z, a-z, 0-9 \W : \w를 제외한 모든 것 - $regex : “구“이면서 첫글자의 초성이 “ㅇ”인 카운티의 이름 - $text : 문자열 검색. 원하는 텍스트를..
2022.10.31 -
쿼리 작성하기(1)
db.collection.find({query},{projection}) {query} : 어떤 도큐먼트들을 검색할 것인지 결정 {projection} : 어떤 필드를 검색할 것인지 결정 논리 연산자 : $and, $or, $nor, $not 비교 연산자 - $eq -> equals - $ne -> not equals - $gt -> greater than - $gte -> greater than or equal - $lt -> less than - $lte -> less than or equal - $in -> in - $nin -> not in - 강릉시 교차로 내에서 일어난 총 사고 - $eq - $gte : 서울에서 차대차 사고 중 사고 수가 2000 이상인 도큐먼트 검색 - $in, $nin M..
2022.10.31 -
MongoDB 기본 명령어(3)
- 배열 위치 기반 변경 : 배열로 구성된 필드는 " "를 반드시 써야함 - 필드 삭제($unset) - 배열에서 값에 따라 제거하기($pull) - 배열의 양 끝에서 제거하기($pop) - 수정 연산자($ne) : 첫번째 매개변수에서 사용. - 수정 연산자($addToSet) : $ne와 기능은 동일, 배열에 값이 없을 때 추가됨 - $setOnInsert : 도큐먼트가 생성될 때 필드가 설정되어야 하는 경우가 있는데, 이후 갱신에서는 필드를 갱신하지 않아야 할 때 사용 - 특정 날짜가 생일인 사람에게 선물 주기 - arrayFilters : 필드 값이 배열인 경우의 수정 방법 - 특정 도큐먼트 삭제(deleteMany())
2022.10.31 -
MongoDB 기본 명령어(2)
- 객체 안의 값 접근하기 : "." 연산자 - comments.0.author : 첫번째 댓글의 저자. (필드명.index.필드명) 배열의 위치를 스스로 알아내서 연산 수행 : comments.$.author - db.collection.replaceOne({query},{replacement},{upsert:Boolean,~}) 첫번째 매개변수로 필터(쿼리), 두번째 매개변수는 교체할 도큐먼트 - upset 매개변수 : update + insert. 교체하거나 수정할 도큐먼트가 존재하면 설정된 조건대로 수정하고, 존재하지 않으면 새로 생성한다. updateOne(), updateMany() : 특정 필드의 값을 바꾸거나 증/감시킬 수 있고, 필드 이름을 변경하거나 필드 자체를 삭제하는 기능 수행 db..
2022.10.31 -
MongoDB 기본 명령어(1)
CRUD : Create, Read, Update, Delete capped collection : 정해진 크기를 초과하면 자동으로 오래된 데이터를 삭제하는 collection. 생성할 때 '크기' 설정 가능 - 컬렉션 정보 출력 : getCollectionInfos() - cappedCollection 생성 - insertedID : ObjectID("...") -> 삽입된 도큐먼트의 고유 키 값. _id필드 이름으로 접근 가능. _id는 별도로 정의하지 않으면 자동으로 생성됨 - 도큐먼트 조회 : find() - 여러 개의 도큐먼트 삽입 : insertMany() - 게시판 만들기 - 게시판 도큐먼트 생성 - 비밀 게시판 만들기 - 특정 필드 값으로 찾기 - find 메서드 형식 : db.collec..
2022.10.31 -
MongoDB 이해하기
NoSQL : Not Only SQL NoSQL은 DBMS의 한 종류이고, SQL의 한 종류는 아니다. 관계 데이터베이스와 NoSQL 구분 관계 데이터베이스 NoSQL 처리 데이터 정형 데이터 정형 데이터, 비정형 데이터 대용량 데이터 대용량 처리시 성능 저하 대용량 데이터 처리 지원 스키마 미리 정해진 스키마 존재 스키마가 없거나 변경 자유로움 트랜잭션 트랜잭션을 통한 일관성 유지 보장 트랜잭션을 지원하지 않아 일관성 유지 보장 어려움 검색 기능 조인 등의 복잡한 검색 기능 제공 단순한 데이터 검색 기능 제공 확장성 클러스터 환경에 적합하지 않음 클러스터 환경에 적합 라이선스 고가의 라이선스 비용 오픈 소스 대표적 사례 Oracle, MySQL, MS SQL 서버 등 카산드라, MongoDB, H베이스..
2022.10.31