본문 바로가기

몽고디비8

08. Mongodb - 쿼리와 집계 스터디 github : https://github.com/KWSStudy몽고디비 정리 wiki : https://github.com/KWSStudy/Mongodb/wiki 목표Mongodb 질의 연산자를 자세히 다뤄보자.맵-리듀스 함수를 중심으로 데이터에 대해 집계를 실행하는 방법을 살펴 보자.상품, 카테고리, 리뷰 쿼리상품 페이지를 가져오는 쿼리 예//1. slug가 whell-barrow-9092인 상품을 찾는다. db.products.findOne({'slug':'whell-barrow-9092'}) //2. 해당 상품의 카테고리 정보를 가져온다. db.categories.findOne({'_id':product['main_cat_id']}) //3. 상품 리뷰를 불러온다. db.reviews.fi.. 2016. 11. 26.
07. Mongodb - 도큐먼트 지향 데이터 이제부턴 스터디에서 정리한 자료로 대체스터디 github : https://github.com/KWSStudy몽고디비 정리 wiki : https://github.com/KWSStudy/Mongodb/wiki 4.1 스키마 설계 원리"이론에 따라 스키마를 설계해야 하지만 실제에서는 이론을 융통성 있게 적용해야 한다." (이에 따른 제기할수 있는 질답)데이터의 기본 단위는 무엇인가?RDBMS에서는 행과 열로 이루어진 테이블이 있다. 키(값) 저장 시스템에서는 키와 값을 갖는데, 여기서 값은 비구조적이다. MongDB에서는 데이터 기본적 단위가 BSON도큐먼트다.데이터를 어떻게 쿼리하고 업데이트할 것인가?RDBMS는 임의 쿼리와 조인이 특징. MongDB 또한 임의 쿼리를 허용하지만 조인은 지원하지 않는다... 2016. 11. 26.
06. Mongodb - 몽고디비 드라이버 작동 원리 1. 책에는 루비를 이용하여 트위터와 연동하는 내용인데 별로 필요하진 않은것 같고 드라이버 작동원리 부분만 알면 될 것 같아 이부분만 정리. 1-1) 드라이버의 작동 원리- 모든 몽고디비 드라이버는 3가지 중요한 기능을 수행- 모든 도큐먼트의 _id 필드에 디폴트로 저장되는 객체 ID 생성.- 특정 언어로 표현된 도큐먼트와 몽고디비의 이진데이터 포멧인 BSON 사이의 변환 수행.- 몽고디비의 와이어 프로토콜을 사용해서 네트워크 소켓을 통해 몽고디비와 통신. 1-2) 객체 ID생성- 모든 몽고디비 도큐먼트는 primary key가 필요.- 개발자가 임의값을 넣어주는 것이 가능.- 임의값이 지정되지 않을경우 객체 id값이 사용.- id값의 처음 4바이트는 유닉스 에폭 후 몇 초가 지났는지를 나타낸다.- 다음.. 2016. 11. 26.
05. Mongodb - 자바스크립트 셸을 통한 맛보기(3) 2장 요약 -3 1. 인덱스 생성과 질의 1-1) 대용량 컬렉션 생성- 인덱싱 테스트를 위해 간단히 대용량 컬렉션 생성ex)20만개 도큐먼트를 가지는 컬렉션 생성 (시간이 꽤 걸린다.)> use tutorialswitched to db tutorial> for(i=0;i db.numbers.count()200000 - 쿼리 셀렉터에 큰값과 작은값을 위한 $gt, $lt 연산자를 지원ex) 199995보다 큰값 가져오기> db.numbers.find({num:{"$gt":199995}}){ "_id" : ObjectId("582e87b124bc079e907d1b24"), "num" : 199996 }{ "_id" : ObjectId("582e87b124bc079e907d1b25"), "num" : 1999.. 2016. 11. 18.
04. Mongodb - 자바스크립트 셸을 통한 맛보기(2) 2장 요약 -2*요약2 시작전 간단히 짚고 넘어가보면 몽고디비의 셸은 자바스크립트 기반으로 만들어졌다.때문에 사용하는 명령어는 모두 자바스크립트 기반의 함수인데 웹브라우저의 개발자모드를 자주 애용해본 분들은 알겠지만자바스크립트 함수가 선언이 되어있다면, 함수명만 입력하면 해당함수가 어떤식으로 구현되어 있는지 개발자콘솔에서 볼수 있는데몽고디비의 셸역시 같은 기능을 제공한다.ex)find() 함수의 구현 확인> use tutorialswitched to db tutorial> db.users.findfunction (query, fields, limit, skip, batchSize, options) { var cursor = new DBQuery(this._mongo, this._db, this, this.. 2016. 11. 18.
03. Mongodb - 자바스크립트 셸을 통한 맛보기(1) 2장 요약 1. 몽고디비 설치(부록 A설치 참조)https://www.mongodb.com/download-center#community 에서 몽고디비 설치(포스트 작성시 기준 v3.2) 2. 몽고디비 실행 및 옵션 2-1. 몽고디비의 실행은 설치 폴더의 bin폴더의 mongod를 실행 ( 몽고디비는 기본적으로 /data/db 폴더를 데이터 저장 폴더로 사용하기 때문에 리눅스나 맥os 의 사용자는 해당 폴더 생성및 권한을 미리 부여해야함) 2-2. 만약 기본 폴더가아닌 임의 폴더를 데이터 저장소로 사용하고 싶은경우 --dbpath 경로 를 이용한다ex) /dev/mongo/data 를 사용할 경우mongod --dbpath /dev/mongo/data 2-3. 로그는 기본적으로 stdout으로 출력되는데.. 2016. 11. 17.