본문 바로가기

NoSql

mongodb 간단 명령어

1. 데이터베이스 선택
> use foobar
switched to db foobar

2. 데이터베이스 확인
>db
foobar

3. insert
우선 자바스크립트 객체로 지역변수인 post를 만들고
> post = {"title":"My Blog Post", "content":"Here's my blog post.", "date":new Date()}
{
        "title" : "My Blog Post",
        "content" : "Here's my blog post.",
        "date" : ISODate("2011-06-25T06:01:32.381Z")
}
> db.blog.insert(post)

insert 끝 완존 쉽다.
확인해 보자

> db.blog.find()
{ "_id" : ObjectId("4e057a1f080005633f97f765"), "title" : "My Blog Post", "conte
nt" : "Here's my blog post.", "date" : ISODate("2011-06-25T06:01:32.381Z") }

이런 "_id" 키가 추가되어있다.

4. find
컬렉션 내 모든 문서를 반환한다.
findOne : 컬렉션 내 한 문서만 보고 싶을 경우

> db.findOne()
Sat Jun 25 15:07:27 TypeError: db.findOne is not a function (shell):1
위에 처럼 하면 안나온다.
밑에 처럼 해야 나온다. 아직 왜 그런지는 모른다.
> db.blog.findOne()
{
        "_id" : ObjectId("4e057a1f080005633f97f765"),
        "title" : "My Blog Post",
        "content" : "Here's my blog post.",
        "date" : ISODate("2011-06-25T06:01:32.381Z")
}

5. update
update에는 (적어도) 두 개의 매개 변수가 필요하다.
첫번째는 갱신하려는 문서를 찾는 조건,
두번째는 새로운 문서

우선 post 변수를 수정하고 "comments" 키를 추가한다.
> post.comments = []
[ ]

그후 "My Blog Post" 제목의 post를 새로운 문서로 치환하는 update를 수행한다.

> db.blog.update({title:"My Blog Post"}, post)
> db.blog.find()
{ "_id" : ObjectId("4e057a1f080005633f97f765"), "title" : "My Blog Post", "conte
nt" : "Here's my blog post.", "date" : ISODate("2011-06-25T06:01:32.381Z"), "com
ments" : [ ] }

이렇게 하면 보기가 좋다.
> db.blog.findOne()
{
        "_id" : ObjectId("4e057a1f080005633f97f765"),
        "title" : "My Blog Post",
        "content" : "Here's my blog post.",
        "date" : ISODate("2011-06-25T06:01:32.381Z"),
        "comments" : [ ]
}

6. delete 가 아니고 remove 네...
조건절에 오류를 넣어봤다.
> db.blog.remove({title:"My Blog Post1"})
> db.blog.findOne()
{
        "_id" : ObjectId("4e057a1f080005633f97f765"),
        "title" : "My Blog Post",
        "content" : "Here's my blog post.",
        "date" : ISODate("2011-06-25T06:01:32.381Z"),
        "comments" : [ ]
}
정말 안지워지네...
이번에는 제대로
> db.blog.remove({title:"My Blog Post"})
> db.blog.findOne()
null

와우 지워진다.

'NoSql' 카테고리의 다른 글

mongodb conf 파일  (0) 2011.06.28
mongoDB 보안 관련 Tips  (0) 2011.06.28
mongodb 제한자 사용하기  (0) 2011.06.25
mongdb 쉘 활용 팁  (0) 2011.06.25
mongodb 설치  (0) 2011.06.25