-
-
MongoDB 완벽 가이드 - 실전 예제로 배우는 NoSQL 데이터베이스 기초부터 활용까지, 3판
크리스티나 초도로우 외 지음, 김인범 옮김 / 한빛미디어 / 2021년 3월
평점 :
이 글에는 스포일러가 포함되어 있습니다.
몽고 db는 NoSQL 기반으로 의 DBMS다.
NoSQL
“Non Relational Operation Database SQL” 의 줄임말로써 “관계형 데이터베이스가 아닌 SQL” 입니다.
일반적인 관계형 데이터베이스에서는 데이터의 중복을 제거하고 무결성을 보장하기 위해서 정규화를 하게 되는데 이러한 정규화가 과도한 JOIN으로 인해 성능 저하가 있을 수 있다고한다.
이책은 이러한 문제를 잘극복할수있도록 처음 설치부터 컬렉션을 다루는 방법까지 자세하게 해당 책에서 내용을 담고있다.
몽고 db의 쉘은 자바스크립트 해석기이고, 자바스크립트 프로그램이 실행이 가능하다.
> x = 200;
200
> x / 5;
40
> Math.sin(Math.PI /2)
1
> new Date("2019/1/1");
ISODate("2018-12-31T15:00:00Z")
> "Hello, World!".replace("World","MongoDB");
Hello, MongoDB!
replace 를 통해 글자를 수정가능하다.
> db
test
> use video
switched to db video
> db
video
> db.movies
video.movies
> movie={"title":"Star Wars:Episode IV -A New Hope","director":George Lucas","year":1977}
2021-04-03T20:20:48.637+0900 E QUERY [js] SyntaxError: missing } after property list @(shell):1:68
> movie={"title":"Star Wars:Episode IV -A New Hope","director":George Lucas","year":1977};
2021-04-03T20:20:55.541+0900 E QUERY [js] SyntaxError: missing } after property list @(shell):1:68
> movie={"title":"Star Wars:Episode IV -A New Hope","director":"George Lucas","year":1977};
{
"title" : "Star Wars:Episode IV -A New Hope",
"director" : "George Lucas",
"year" : 1977
}
collection을 다루고 있는 만큼 key,value 형식으로 값을 입력이 가능했다.
> db.movies.insertOne(movie)
{
"acknowledged" : true,
"insertedId" : ObjectId("6068501d5890e9d90fadf7ea")
}
find를 통해 결과를 확인한다.
> db.movies.find().pretty()
{
"_id" : ObjectId("6068501d5890e9d90fadf7ea"),
"title" : "Star Wars:Episode IV -A New Hope",
"director" : "George Lucas",
"year" : 1977
}
find와 findone은 컬렉션을 쿼리하는데 사용한다.
> db.movies.findOne()
{
"_id" : ObjectId("6068501d5890e9d90fadf7ea"),
"title" : "Star Wars:Episode IV -A New Hope",
"director" : "George Lucas",
"year" : 1977
}
해당 책을 통해 기본 부터, 활용하는데 익히는데 큰무리가 없었다.
몽고db를 익히고자 하는 데에 이책을 추천하고싶다.
"한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."