MongoDB (M1)

AWESOMee·2022년 10월 30일

https://www.mongodb.com/docs/manual/tutorial/install-mongodb-on-os-x/ 참고

HomeBrew 설치

terminal:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"


brew tap mongodb/brew

terminal:
brew tap mongodb/brew

오류)
zsh: command not found: brew 와 같은 문구 출력시

M1인 경우, 터미널에
eval $(/opt/homebrew/bin/brew shellenv)
입력하면 정상적으로 작동한다.


MongoDB 6.0 Community Edition 설치

terminal:
brew install mongodb-community@6.0


MongoDB 서비스 시작

terminal:
brew services start mongodb-community@6.0


MongoDB 서비스 종료

terminal:
brew services stop mongodb-community@6.0


mongo 명령어 오류

terminal에 mongo를 입력하면
zsh: command not found: mongo
위와 같은 문구가 출력되어 구글링을 해서 시키는 대로 따라해보았지만 실패,,

brew list를 입력했을 때

이와 같이 나오는데
다시 brew list mongodb-community를 입력하면

이렇게 출력되는 걸 보아
/opt/homebrew/Cellar/mongodb-community/6.0.1/bin/mongo라는 루트가 없어서 아닐까 하는 뇌절,,,


mongosh 명령어

결국 mongo 명령어는 해결하지 못하고
mongosh를 입력하니

이런식으로 원하는 정보(Connecting to: )가 잘 출력되어 mongosh를 사용하기로 함...


CRUD

  • show dbs : db 목록 조회
  • db : 현재 접속중인 db(예전에는 db를 입력해야 현재 접속중인 db이름이 조회되었나 본데 지금은 별도로 입력하지 않아도 아래와 같이 현재 접속 중인 db이름이 기본으로 뜬다..!)
  • use+db이름 : db 생성 및 입력한 db로 접속
  • show collections : 현재 db안의 collections 조회

C

  • db.+collection이름+.insertOne({key: value}) : collection에 내용 한 개 추가(_id 자동 추가됨)
  • db.+collection이름+.insert([{key: value}, {key: value}]) : 한 개 또는 여러 개([]사용) 정보 삽입(value에는 객체가 올 수도 있음)

R

  • db.+collection이름+.find() : 해당 collection의 모든 내용 출력
  • db.+collection이름+.find({key|'key.key': value}) : 해당 collection에서 key: value가 정확하게 일치하는 값 출력
  • ...({key: {$gt|$gte|$lt|$lte: value}}): 해당 collection에서 key값이 value보다 (큰 | 크거나 같은 | 작은 | 작거나 같은) 값 출력
  • ...({key: {$in: [value1, value2]}}): 해당 collection에서 key값이 $in의 array에 포함되는 값 출력
  • ...({$or: {key1: value1}, {key2: value2}}) : 해당 collection에서 key1: value1이거나 key2: value2인 값 출력

U

  • db.+collection이름+.updateOne|.updateMany({key1: value1}, {$set: {key2: value2}, $currentDate: {key: true}}) : 해당 collection에서 key1: value1가 정확하게 일치하는 값을 $set의 value값으로 추가 및 수정 & $currentDate의 value에 true 입력 시 아래와 같이 삽입


D

  • db.+collection이름+.deleteOne|.deleteMany({key: value}): 해당 collection에서 key: value가 정확하게 일치하는 값(한개 | 여러개) 삭제
  • db.+collection이름+.deleteMany({}) : 해당 collection의 모든 값 삭제
profile
개발을 배우는 듯 하면서도

0개의 댓글