2023.01.26 MongoDB CRUD

차유빈·2023년 1월 25일
0

Collection과 Database 생성, 조회, 수정, 삭제

Database, Collection

db안에 collections을 만들기 전에는 db가 검색되지 않음
test라는 db안에 emp라는 collection 만든것


무료 클라우드 모니터링

• 명령이 수행되는 시간
• 메모리 사용률
• CPU 사용를
• 수행된 명령 수


현재 데이터베이스 collection 정보를 리스트로 반환

호스트, 프로세스 Id, Lock 옵션, 스토리지 엔진 이름, 스토리지 엔진 통계 정보 제공

데이터베이스 내 collection, view, object의 개수와 크기에 대한 통계를 제공


Collection 상태 정보 조회

collection 부분에 이름 적으면 됨(예를 들어 emp, dept..같은 것)


Document 생성

단일 Document 생성

  • insertOne : insert한 id를 보여줌

  • insert : insert한 개수를 보여줌 (둘 다 저장되는 결과는 동일함)

  • 이쁘게 보여주기


복습

for문 사용 가능

배열로 데이터 넣기


Document freeboard 생성 실습





Nosqlbooster 설치

https://nosqlbooster.com/downloads
위의 사이트에서 최신 버전 다운로드

현재 작업 중인 db 쉽게 볼수있음


Nosqlbooster 데이터 추가

localhost -> create database -> board1 이름 설정

create Collection(dafault) -> mongoboard 이름 설정


Nosqlbooster 도큐먼트 조회

id:0 -> id는 표기 하지 않고 싶을때

show query Builder 클릭 후 조건 선택하여 조회


쿼리 (비교)

in 으로 두개 검색

쿼리 (논리)

$regex 연산자


쿼리 실습

1. Weight가 10 이상인 것을 검색
{gte:10} -> 10미만인 것 검색, {gte:10} -> 10이상인 것 검색

2. Category가 animal인 것을 검색

3. Category가 animal 이고 name bear인 것을 검색

4. Weight가 20~30인 것을 검색

5. Name이 cat, phone인 것을 검색


점 연산자(오브젝트 내의 값을 불러오기 위해 사용)


프로젝션 (Projection) : 쿼리의 결과값에서 보여질 field를 선택


커서 (cursor)

  • 쿼리 결과에 대한 포인터
  • find 명령은 결과로 도큐먼트를 직접 반환하지 않고 커서를 반환
  • 해당 도큐먼트의 위치 정보만을 반환하여 작업을 효율적으로 만들 수 있음.
  • 데이터를 전부 불러올 도큐먼트만 선별적으로 조회 가능
  • 커서는 결과값을 읽는 작업을 위해 필요한 것이기 때문에 10분이 지나면 비활성 상태로 전환.

it 불러올 데이터가 더이상 없음 -> no cursor

배열형태로 데이터 불러오기

5번째 배열 데이터 불러오기


도큐먼트 교체

replace는 전체 데이터를 수정하고 싶을때, update는 한 두개 데이터 수정하고 싶을때 사용

replace로 데이터 수정

항목이 적은 항목들로 전부 대체됨

update로 데이터 수정

set에 넣은 항목만 바뀜

nosqlbooster에서 업데이트하기


수정 배열 실습

도큐먼트 수정

도큐먼트 삭제








3장.쿼리

쿼리 작성하기

Nosqlbooster에서 json, xml 파일 import하기

실습


$text 연산자


배열 연산자 소개







4장.index


Index

  • 데이터베이스 검색 성능을 높이기 위해 사용
  • MongoDB는 고정된 스키마는 없지만 원하는 데이터 필드를 인덱스로 지정하여 검색결과를 빠르게 하는 것이 가능
  • NoSQL에서도 index를 잘 설계해야 최대 검색 효율이 가능
  • B트리 구조로 index구현


인덱스 생성 및 조회


Index 종류

profile
chacha's 프로그래밍 공부

0개의 댓글