Skip to content

Latest commit

 

History

History
101 lines (81 loc) · 2.29 KB

01.mongodb.md

File metadata and controls

101 lines (81 loc) · 2.29 KB

mongodb

정원사들 출석부에서는 mongodb 를 사용합니다.

slack 메시지의 정제하기 귀찮아서 일단 그냥 때려넣습니다.

다만 메시지 날짜 정보는 검색을 편리하게 하기 위해 형식을 바꿔서 넣습니다.

docker 로 설치 하기

docker 로 설치하면 간단합니다. docker 를 먼저 설치 하고 나서 아래 명령어를 사용하면 gardenmongo 라는 container 가 생성됩니다.

docker run --name gardenmongo -p 127.0.0.1:27017:27017 -d mongo

garden4,5 때는 mymongo 였는데 그걸 그냥 계속 사용해도 무방합니다. collection 만 별도로 사용하면 됩니다.

stop, start

상황에 따라 docker 를 stop/start 해야 될 때는 다음 커맨드들을 이용합니다.

stop

docker stop mymongo

start

docker start mymongo

기타 docker 커맨드들

삭제

docker rm mymongo

docker 에 직접 들어가서 뭔가 하고 싶은 경우 사용합니다.

docker exec -it mymongo /bin/bash

docker 데몬 start/stop

sudo systemctl start docker
sudo systemctl stop docker

mongodb 접근하기

mongodb client 를 설치하고 터미널에서 mongo 커맨드를 실행하면 mongodb 에 접속됩니다.

mongo

port 를 직접 지정하려면 다음과 같이합니다.

mongo --port 27017

create database & create collection

use garden 하면 garden7 database 가 생성됩니다.

use garden7

slack message 들을 저장하는 collection 을 생성합니다.

db.createCollection("slack_messages")
db.slack_messages.createIndex({ts:1}, {unique: true})

collection 까지 생성 되었으면 garden7 database 가 생성된것을 확인 할 수 있습니다.

> show databases
admin    0.000GB
config   0.000GB
garden   0.001GB
garden5  0.001GB
garden6  0.000GB
garden7  0.000GB
local    0.000GB

시즌4 때는 그냥 garden 으로 했었는데 시즌별로 database 를 분리해줍니다.

slack_messages collection 이 생성된 것도 확인 할 수 있습니다.

> show collections
slack_messages

backup

commits

  • 유저별 커밋 내역들
  • user
    • commits

attendance

  • 출석부
  • dates
    • users
      • commits
  • slack 메시지 올라오지 않은 케이스를 위해 수작업으로 넣어 준다면 type 이 필요할듯.