자 이제 몽고 DB를 좀 주물럭 거려보자..
1. 쉘 접속 ( 1회차를 참조하시라 )
2. Data Insert.
입력에 사용되는 데이터 타입은 JSON 타입이다.
JSON을 잘 모르겠다? 하는 사람은
http://json.org/ 이곳에 접속해서 그림! 을 잘 따라가면!!! 이해할 수 있을것이다.
JSON은
{ "key" : "value" } 의 형태를 가진 표현 방법이다.
사용가능한 변수 타입은 차후에 기록하는 것으로 미루고
쉘에다 데이터를 넣어보자.
입력을 했더니 서버 로그가 좌르륵 올라간다.!
뭐지 하고 대충 확인해보니
첫 데이터를 입력하니 DB가 생성되었따는 문구
그래 가서 확인해보는거야..
오호라... DB 명칭이 framework ...
파일명도 framework.*
그렇군..
조회를 해보자..
데이터를 아무거나 하나 더 넣고 조회를 해보자.
결과물에 추가로 기록된 _id는 차후에 설명하겠다..
일단 데이터마다 가지는 Unique Key라고 기억하면 되겠다..
SELECT * FROM USERS WHERE ID = 'human'
뭐 이런건 어찌 조회하나?
해보자..
조회 조건에도 역시 JSON 타입을 사용해서 조회를 해야한다.
find 이외에도 findOne 라는 메소드가 있으니 확인해보자.
수정.
user:blahblah 를 가지는 사용자에 대해
type을 frog로 변경해보자..
update 구문을 보면
첫 파라메타로 검색 조건
다음 파라메타로 제한자($set)와 변경할 값을 설정한다.
age 수치의 증가.
테스트 하다가 깜짝 놀랬는데.. 놀라고 나서 생각해보니 당연하다..
윗줄에서 inc 제한자를 사용하여 30.. 을 설정했는데..
30이 증가되어버렸다.. 원 값인 30을 입력하는건가 하고 생각해서 입력한 값이었는데 60이 되어버렸다 -_- ...
그래서 다시 1로 테스트 해보니 30 -> 60 -> 61 .. 로 변하는 값을 확인할수 있엇다.
삭제 해보자!
사용법은 검색이나, 수정에 사용했던 방법과 유사한거 같다..
사용 방법은 위 로그를 참조..
이제 MongoDB가 좀 익숙해 질려한다...
현재 O'REILLY사의 "MongoDB 완벽 가이드"를 보면서
학습식의 글을 작성중인데..
글을 남기는 이유는 강의도 아니고 필요에 의해 검색하기 위함이다.
어려운 질의는 늦게 늦게 답변이 달릴수도 있으니 ! 양해 바랍니다 ㅡ.ㅜ;
1. 쉘 접속 ( 1회차를 참조하시라 )
2. Data Insert.
입력에 사용되는 데이터 타입은 JSON 타입이다.
JSON을 잘 모르겠다? 하는 사람은
http://json.org/ 이곳에 접속해서 그림! 을 잘 따라가면!!! 이해할 수 있을것이다.
JSON은
{ "key" : "value" } 의 형태를 가진 표현 방법이다.
사용가능한 변수 타입은 차후에 기록하는 것으로 미루고
쉘에다 데이터를 넣어보자.
> var my insert = { "user" : "blahblah" ,
... "type" : "human",
... "age" : 30,
... "tune" : "no"
... };
Fri Jan 20 00:13:29 SyntaxError: missing ; before statement (shell):1
>
>
>
> var myinsert = { "user" : "blahblah" ,
... "type" : "human",
... "age" : 30,
... "tune" : "no"
... };
>
> db
framework
> db.test.insert(myinsert)
>
입력을 했더니 서버 로그가 좌르륵 올라간다.!
뭐지 하고 대충 확인해보니
첫 데이터를 입력하니 DB가 생성되었따는 문구
그래 가서 확인해보는거야..
오호라... DB 명칭이 framework ...
파일명도 framework.*
그렇군..
조회를 해보자..
> db.test.find()
{ "_id" : ObjectId("4f18334ee18f4804da05227f"), "user" : "blahblah", "type" : "human", "age" : 30, "tune" : "no" }
>
> var myinsert2 = { "user" : "blahblah2" ,
... "type" : "alien",
... "age" : 26,
... "tune" : "yes"
... };
>
> db.test.insert(myinsert2)
>
> db.test.find()
{ "_id" : ObjectId("4f18334ee18f4804da05227f"), "user" : "blahblah", "type" : "human", "age" : 30, "tune" : "no" }
{ "_id" : ObjectId("4f18344ee18f4804da052280"), "user" : "blahblah2", "type" : "alien", "age" : 26, "tune" : "yes" }
>
결과물에 추가로 기록된 _id는 차후에 설명하겠다..
일단 데이터마다 가지는 Unique Key라고 기억하면 되겠다..
SELECT * FROM USERS WHERE ID = 'human'
뭐 이런건 어찌 조회하나?
해보자..
> db.test.find({"user":"blahblah"})
{ "_id" : ObjectId("4f18334ee18f4804da05227f"), "user" : "blahblah", "type" : "human", "age" : 30, "tune" : "no" }
>
조회 조건에도 역시 JSON 타입을 사용해서 조회를 해야한다.
find 이외에도 findOne 라는 메소드가 있으니 확인해보자.
수정.
user:blahblah 를 가지는 사용자에 대해
type을 frog로 변경해보자..
> db.test.update(
... {"user":"blahblah"},
... {"$set" : { "type":"frog" } }
... )
> db.test.find()
{ "_id" : ObjectId("4f18334ee18f4804da05227f"), "age" : 30, "tune" : "no", "type" : "frog", "user" : "blahblah" }
{ "_id" : ObjectId("4f18344ee18f4804da052280"), "user" : "blahblah2", "type" : "alien", "age" : 26, "tune" : "yes" }
>
update 구문을 보면
첫 파라메타로 검색 조건
다음 파라메타로 제한자($set)와 변경할 값을 설정한다.
age 수치의 증가.
테스트 하다가 깜짝 놀랬는데.. 놀라고 나서 생각해보니 당연하다..
>
> db.test.update(
... {"user":"blahblah"},
... {"$inc" : { "age":30 } }
... )
>
> db.test.find()
{ "_id" : ObjectId("4f18334ee18f4804da05227f"), "age" : 60, "tune" : "no", "type" : "frog", "user" : "blahblah" }
{ "_id" : ObjectId("4f18344ee18f4804da052280"), "user" : "blahblah2", "type" : "alien", "age" : 26, "tune" : "yes" }
>
>
>
> db.test.update(
... {"user":"blahblah"},
... {"$inc" : { "age":1 } }
... )
>
> db.test.find()
{ "_id" : ObjectId("4f18334ee18f4804da05227f"), "age" : 61, "tune" : "no", "type" : "frog", "user" : "blahblah" }
{ "_id" : ObjectId("4f18344ee18f4804da052280"), "user" : "blahblah2", "type" : "alien", "age" : 26, "tune" : "yes" }
>
윗줄에서 inc 제한자를 사용하여 30.. 을 설정했는데..
30이 증가되어버렸다.. 원 값인 30을 입력하는건가 하고 생각해서 입력한 값이었는데 60이 되어버렸다 -_- ...
그래서 다시 1로 테스트 해보니 30 -> 60 -> 61 .. 로 변하는 값을 확인할수 있엇다.
삭제 해보자!
>
> db.test.find()
{ "_id" : ObjectId("4f18334ee18f4804da05227f"), "age" : 61, "tune" : "no", "type" : "frog", "user" : "blahblah" }
{ "_id" : ObjectId("4f18344ee18f4804da052280"), "user" : "blahblah2", "type" : "alien", "age" : 26, "tune" : "yes" }
> db.test.remove({"age":61})
> db.test.find()
{ "_id" : ObjectId("4f18344ee18f4804da052280"), "user" : "blahblah2", "type" : "alien", "age" : 26, "tune" : "yes" }
>
> db.test.remove()
> db.test.find()
>
사용법은 검색이나, 수정에 사용했던 방법과 유사한거 같다..
사용 방법은 위 로그를 참조..
이제 MongoDB가 좀 익숙해 질려한다...
현재 O'REILLY사의 "MongoDB 완벽 가이드"를 보면서
학습식의 글을 작성중인데..
글을 남기는 이유는 강의도 아니고 필요에 의해 검색하기 위함이다.
어려운 질의는 늦게 늦게 답변이 달릴수도 있으니 ! 양해 바랍니다 ㅡ.ㅜ;