본문 바로가기

DB/Mongodb

mongodb 설치

빠르게 mongodb를 사용해보기 위해 window에 설치 해보았다. 


설치는 mongodb home page에 설명이 쉽게 되어있다. 


설치 다운로드링크이다. 

http://www.mongodb.org/downloads


나는 Windows 64-bit를 사용하고 있고 Win7을 사용중이기 때문에 windows server 2008이나 Windows 7에서 더 좋은 성능을 보인다는 

64bit 2008+ 빌드를 다운로드 했다. 


압축을 풀면 <그림1>처럼 여러개의 실행 파일들이 생긴 것을 볼 수 있다. 

<그림 1> 압축해제 후 bin 폴더의 모습


저기서 mongod는 mongo db서버 daemon이고 mongo는 client 프로그램이다. 재미있는 것은 client interface가 javascript라는 것이다.


그 다음에는 아래처럼 mongo db의 data를 저장할 폴더를 만든다. default는 아래와 같으므로 아래처럼 폴더를 만든다. unix에서도 위치는 같다.

C:\> mkdir \data

C:\> mkdir \data\db


만약 다른 폴더를 사용하고 싶다면 --dbpath 옵션을 사용하여 원하는 위치에 data를 저장하도록 할 수있다. 


자 이제 mongo db 서버를 실행해보자. 

아래 <그림 2>처럼 시작 -> cmd를 쳐서 cmd 프로그램을 실행시킨다. 


<그림 2> cmd 창 열기



그럼, 아까 압축을 해제한 위치 내경우는 (C:\mongodb-win32-x86_64-2008plus-2.0.4)에 가서  

cmd창에 아래 굵은 글씨처럼 mongod.exe라고 입력하면 서버가 시작된다.

C:\mongodb-win32-x86_64-2008plus-2.0.4\mongodb-win32-x86_64-2008plus-2.0.4\bin>mongod.exe

mongod.exe --help for help and startup options

Mon May 07 20:49:53 [initandlisten] MongoDB starting : pid=5628 port=27017 dbpat

h=/data/db 64-bit host=AD00034289

Mon May 07 20:49:53 [initandlisten] db version v2.0.4, pdfile version 4.5

Mon May 07 20:49:53 [initandlisten] git version: 329f3c47fe8136c03392c8f0e548506

cb21f8ebf

Mon May 07 20:49:53 [initandlisten] build info: windows sys.getwindowsversion(ma

jor=6, minor=1, build=7601, platform=2, service_pack='Service Pack 1') BOOST_LIB

_VERSION=1_42

Mon May 07 20:49:53 [initandlisten] options: {}

Mon May 07 20:49:53 [initandlisten] journal dir=/data/db/journal

Mon May 07 20:49:53 [initandlisten] recover : no journal files present, no recov

ery needed

Mon May 07 20:49:53 [initandlisten] waiting for connections on port 27017

Mon May 07 20:49:53 [websvr] admin web console waiting for connections on port 2

8017

Mon May 07 20:50:53 [clientcursormon] mem (MB) res:21 virt:81 mapped:0




다시 <그림 2> 처럼 cmd 창을 하나더 열자 이번에는 client를 실행해 볼것이다. 

mongo.exe라고 입력하면 아래처럼 mongo db 서버에 접속한다 default는 localhost로 접속한다.



C:\mongodb-win32-x86_64-2008plus-2.0.4\mongodb-win32-x86_64-2008plus-2.0.4\bin>mongo.exe

MongoDB shell version: 2.0.4

connecting to: test

> 3+3

6

> db

test

> db.foo.insert({a:1})

> db.foo.find()

{ "_id" : ObjectId("4fa7b90238ef24d5228982d6"), "a" : 1 }

> show dbs

local   (empty)

test    0.078125GB

> show collections

foo

system.indexes

> help

        db.help()                    help on db methods

        db.mycoll.help()             help on collection methods

        rs.help()                    help on replica set methods

        help admin                   administrative help

        help connect                 connecting to a db help

        help keys                    key shortcuts

        help misc                    misc things to know

        help mr                      mapreduce


        show dbs                     show database names

        show collections             show collections in current database

        show users                   show users in current database

        show profile                 show most recent system.profile entries wit

h time >= 1ms

        show logs                    show the accessible logger names

        show log [name]              prints out the last segment of log in memor

y, 'global' is default

        use <db_name>                set current database

        db.foo.find()                list objects in collection foo

        db.foo.find( { a : 1 } )     list objects in foo where a == 1

        it                           result of the last line evaluated; use to f

urther iterate

        DBQuery.shellBatchSize = x   set default number of items to display on s

hell

        exit                         quit the mongo shell

>


위에서 db.foo.insert({a:1})로 key value 값을 입력해준것을 볼수 있다. 

또 find를 사용하여 들어있는 값을 찾아 볼 수 있다. 


얼마전에 node.js를 알아보고 있었는데 둘다 javascript interface이면서 json형태로 되어있어서 좀 많이 놀랐다. 내가 회사에서 만들고 있는 client도 javascript인데 이제 javascript만으로 client, server, db를 모두 사용할 수 있게되었구나;;;;