이번 포스팅에서는 MongoDB의 기본 Query 명령어에 대해 알아보도록 하겠습니다.
우선 시작에 앞서 01. MongoDB 시작하기를 참고하여 DB를 시작하시고, Query 명령문을 입력할 수 있도록 준비하시기 발바니다.
DB 생성
Mongo 현재 DB의 리스트를 확인하는 명령줄은 다음과 같습니다:
show dbs
기본적은로, 세가지 DB가 미리 등록되어 있음을 확인할 수 있습니다:
admin
config
local
일단 이들이 어떤 역할을 하는지는 추후 포스팅에서 살펴보도록 하며, 지금은 DB를 하나 생성하겠습니다:
use test
Create
다음과 같이 "title", "content", "date" 키를 갖는 "post" 변수 생성해 보겠습니다.
post = {"title" : "My first blog post", "content" : "Getting started with MongDB", "date" : new Date()}
위의 명령에서 알 수 있듯이, MongoDB의 입출력 도큐먼트 단위는 JSON 형태를 갖습니다.
insert
명령을 통해 등록된 post
변수를 blog
라는 콜렉션에 저장합니다:
> db.blog.insert(post)
WriteResult({ "nInserted" : 1 })
이제 test
db가 가지고 있는 콜렉션 리스트를 확인해 보도록 하겠습니다:
> db.getCollectionNames()
[ "blog" ]
입력이 성공되면 WriteResult({ "nInserted" : 1 })
라는 형태의 메시지가 출력될 것입니다.
find
명령을 입력하여 blog
콜렉션에 저장된 값 확인해 봅니다:
> db.blog.find()
{ "_id" : ObjectId("5fa5fef52bc718484524b2d2"), "title" : "My first blog post", "content" : "Getting started with MongDB", "date" : ISODate("2020-11-07T01:53:32.663Z") }
한가지 팁으로 .pretty()
를 추가로 붙이면, 좀 더 깔끔한 형태로 결과를 출력할 수 있습니다.
> db.blog.find().pretty()
"_id" : ObjectId("5fa5fef52bc718484524b2d2"),
"title" : "My first blog post",
"content" : "Getting started with MongDB",
"date" : ISODate("2020-11-07T01:53:32.663Z")
}
Update
post
컬렉션에 comments
키 생성을 합니다:
> post.comments = []
[ ]
> post
{
"title" : "My first blog post",
"content" : "Getting Started with MongoDB",
"date" : ISODate("2014-01-17T10:04:08.641Z"),
"comments" : [ ]
}
My first blog post
라는 타이틀을 가진 post
로 도큐먼트 업데이트를 업데이트 합니다:
> db.blog.update({"title" : "My first blog post"}, post)
> db.blog.findOne().pretty()
{
"_id" : ObjectId("52d900298d2a9dc822dd0eea"),
"title" : "My first blog post",
"content" : "Getting Started with MongoDB",
"date" : ISODate("2014-01-17T10:04:08.641Z"),
"comments" : [ ]
}
Delete
My first blog post
이라는 title
의 컬렉션을 삭제해 보겠습니다:
> db.blog.remove({title : "My first blog post"})
> db.blog.findOne()
null