티스토리 뷰
애플 실리콘 몽고디비 설치
- Homebrew 설치
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
- 몽고디비 설치
brew tap mongodb/brew
brew install mongodb-community
brew install mongosh
- 몽고디비 실행
brew services start mongodb-community
- 몽고디비 프롬프트 접속
mongosh
- 관리자 계정 추가
use admin
db.cerateUser({user:'이름', pwd:'비밀번호',roles:['root']})
- 몽고디비 중지
brew services stop mongodb-community
- 몽고디비 설정 파일 수정
vim /opt/homebrew/etc/mongod.conf
- `mongod.conf` 파일에 보안 설정 추가
...
security:
authorization: enabled
- 몽고디비 다시 시작후 몽고디비 서버 접속
brew services start mongodb-community
mongosh admin -u [이름] -p [비밀번호]
데이터베이스 및 컬렉션 생성하기
데이터 베이스 생성
`use [데이터베이스명]`으로 데이터베이스를 생성합니다.
use nodejs
데이터베이스 목록 확인
`show dbs` 명령어로 데이터베이스 목록을 확인합니다. 데이터베이스를 생성하고 데이터를 삽입하지 않았다면 해당 데이터베이스는 보이지는 않습니다.
show dbs
현재 사용중인 데이터베이스 확인하기
`db` 명령어로 현재 사용중인 데이터베이스를 확인합니다.
db
컬렉션 생성
`db.createCollection([콜렉션명])`으로 데이터베이스에 콜렉션을 생성합니다.
db.createCollection('users')
db.createCollection('comments')
컬렉션 목록 확인
`show collections` 명령어로 생성한 컬렉션 목록을 확인합니다.
show collections
CRUD 작업하기
Create(생성)
`db.컬렉션명.insertOne(다큐먼트)`명령어를 사용해 다큐먼트를 생성할 수 있습니다.
db.users.insertOne({name:'bearn', age: 24, married: false, comment: '안녕하세요', createdAt: new Date()});
Read(조회)
`db.컬렉션명.find{}`메서드를 사용해 다큐먼트를 조회할 수 있습니다.
db.users.find({});
특정 필드만 조회하고 싶으면 `find` 메서드의 두 번째 인수로 조회할 필드를 넣으면 됩니다. 1또는 true를 지정해 원하는 필드를 가져옵니다.
db.users.find({}, {_id: 0, name: 1, married: 1});
`$gt`(초과), `$gte`(이상), `$lt`(미만), `$lte`(이하), `$ne`(같지 않음), `$or`(또는), `$in`(배열 요소 중 하나) 연산자를 사용해 조건을 줄 수 있습니다.
db.users.find({$or: [{age: {$gt}}, {married: false}]}, {_id: 0, name: 1, age: 1})
`sort` 메서드를 사용해 정렬을 수행할 수 있습니다. -1은 내림차순 1은 오름차순입니다.
db.users.find({}, {_id: 0, name: 1, age:1}).sort({age: -1});
`limit` 메서드를 사용해 조회할 다큐먼트 개수를 설정할 수 있습니다.
db.users.find({}, {_id: 0, name: 1, age:1}).sort({age: -1}).limit(1);
`skip` 메서드를 사용하면 다큐먼트 개수를 몇개 건너뛸지 설정합니다.
db.users.find({}, {_id: 0, name: 1, age:1}).sort({age: -1}).limit(1).skip(1);
Update(수정)
`db.컬렉션명.updateOne({수정할 다큐먼트 조건}, {$set:{수정할 내용}})`명령어로 컬렉션을 수정합니다. 여러 건을 수정하려면 `updateMany` 메서드를 사용합니다.
db.users.updateOne({name:'bear'}, {$set: {comment: '반갑습니다'}});
Delete(삭제)
`db.컬렉션명.deleteOne({삭제할 다큐먼트 조건})` 명명러를 이용해 다큐먼트를 삭제합니다. 여러 건을 삭제하려면 `deleteMany` 메서드를 사용합니다.
db.users.deleteOne({name:'bear'});
참고
'Node.js' 카테고리의 다른 글
[노드 교과서] 섹션 9 - 익스프레스로 SNS 서비스 만들기 (0) | 2024.11.17 |
---|---|
JS로 차트 훼손 없이 엑셀 수정하기!!! (1) | 2024.11.16 |
[Node.js 교과서] 섹션7 - MySQL (3) | 2024.11.09 |
[Node.js 교과서] 섹션 6 - 익스프레스 웹 서버 만들기 (0) | 2024.11.03 |
[Node.js 교과서] 섹션 5 - 패키지 매니저 (1) | 2024.10.25 |