9.4.1 몽고DB 환경 구성
채팅방과 메시지 정보는 몽고DB에 저장한다. 몽고DB는 스키마를 정의하지 않고 JSON 형태의 데이터를 바로 저장할 수 있어서 데이터를 유연하게 처리할 수 있고, 데이터 복제, 크기 확장 등이 용이하다.
몽고DB 공식 다운로드 페이지(https://www.mongodb.org/downloads)에서 몽고DB 설치 파일을 내려받아 설치한 후 실행해 보자.
$ sudo mongod
Password:
Go 언어용 몽고DB 드라이버인 mgo 패키지도 설치하자.
$ go get gopkg.in/mgo.v2
main.go 파일에서 init 함수에 몽고DB를 연결하고 몽고DB 접속 세션을 만드는 코드를 작성해 보자.
▼ main.go
package main import ( “net/http”
“github.com/codegangsta/negroni” “github.com/julienschmidt/httprouter” “github.com/unrolled/render”
“gopkg.in/mgo.v2” ) var ( renderer render.Render mongoSession mgo.Session ) func init() { // 렌더러 생성 renderer = render.New()
s, err := mgo.Dial(“mongodb://localhost”) if err != nil { panic(err) }
mongoSession = s }