mongodb를 실행하기 위해서 데몬(mongod)이 실행되어 있어야 한다.
아래 명령어로 mongo shell을 실행한다.
> sudo service mongod start
> mongo
root 계정을 생성하기 위해 admin 데이터베이스를 사용한다.
> show databases
admin 0.000GB
config 0.000GB
local 0.000GB
> use admin
switched to db admin
> db
admin
use (DATABASE_NAME) 명령어로 DB를 생성할 수 있다. 말그대로 use이기 때문에 생성과 동시에 그 DB를 사용한다.
이미 존재하는 경우엔 현존하는 DB를 사용한다.
use를 사용해서 "mongodb_tut"이라는 DB를 생성한다.
> use mongodb_tut
switched to db mongodb_tut
현재 사용중인 DB를 확인하려면 db 명령어 사용
> db
mongodb_tut
DB 리스트들을 확인하려면 show dbs 명령어 사용
> show dbs
admin 0.000GB
config 0.000GB
local 0.000GB
show dbs명령어로 DB 리스트들을 확인한 결과, 방금 만든 "mongodb_tut" DB가 없다.
내가 만든 DB를 리스트에서 보려면 최소 한개의 Document를 추가해야 한다.
> db.book.insert({"name": "MongoDB Tutorial", "author": "veloger"})
WriteResult({ "nInserted" : 1 })
여기에서 "book"은 collection을 의미한다.
"이 DB의 "book"이라는 collection에 이름은 MongoDB Tutorial이고 작가는 veloger라는 데이터를 저장해줘"
이런 뜻
> show dbs
admin 0.000GB
config 0.000GB
local 0.000GB
mongodb_tut 0.000GB
이제 리스트에 생성된걸 볼 수 있다.
그리고 추가로 db.stats() 로 DB 상태를 확인할 수 있다.
DB를 제거할땐 db.dropDatabase()명령어 사용한다.
이 명령어를 사용하기 전엔 use 명령어로 삭제하고자 하는 DB를 선택해줘야 한다.
> use mongodb_tut
switched to db mongodb_tut
> db.dropDatabase();
{ "dropped" : "mongodb_tut", "ok" : 1 }
db.createCollection(name, [options]) 으로 컬렉션을 생성한다. name은 컬렉션이름이고, options은 document 타입으로 구성된 해당 컬렉션의 설정값이다.
options 객체의 속성들은 아래와 같다.
예를 들면 아래와 같다.
> db.createCollection("platform", {
capped: true,
size: 6142800,
max: 10000
})
{ "ok" : 1 }
show collections : collections 리스트를 확인할 수 있다.
db.컬렉션명.drop() : collections을 제거한다.
db.old컬렉션명.renameCollection(new컬렉션명) : collections 이름을 변경한다.
db.컬렉션명.insert(document) 로 document를 추가한다.
예시는 위에 Database 생성쪽에 했기 때문에 생략하도록 하겠다.
db.컬렉션명.remove(criteria[, justOne]) 로 document를 제거할 수 있다.
매개변수로 들어가는 객체의 속성들은 아래와 같다.
criteria : document 타입이다. 데이터의 기준 값으로서 일치하면 기본적으로 다 삭제한다. 이 값이 { } 이면 컬렉션의 모든 데이터를 제거한다. 꼭 넣어야한다.
justOne boolean타입이다. Optional 매개변수이며, 이 값이 true면 1개의 document만 제거한다. 이 매개변수가 생략되면 기본값은 false이고 criteria에 해당되는 모든 document를 제거한다.