스터디 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..
이제부턴 스터디에서 정리한 자료로 대체스터디 github : https://github.com/KWSStudy몽고디비 정리 wiki : https://github.com/KWSStudy/Mongodb/wiki 4.1 스키마 설계 원리"이론에 따라 스키마를 설계해야 하지만 실제에서는 이론을 융통성 있게 적용해야 한다." (이에 따른 제기할수 있는 질답)데이터의 기본 단위는 무엇인가?RDBMS에서는 행과 열로 이루어진 테이블이 있다. 키(값) 저장 시스템에서는 키와 값을 갖는데, 여기서 값은 비구조적이다. MongDB에서는 데이터 기본적 단위가 BSON도큐먼트다.데이터를 어떻게 쿼리하고 업데이트할 것인가?RDBMS는 임의 쿼리와 조인이 특징. MongDB 또한 임의 쿼리를 허용하지만 조인은 지원하지 않는다...
1. 책에는 루비를 이용하여 트위터와 연동하는 내용인데 별로 필요하진 않은것 같고 드라이버 작동원리 부분만 알면 될 것 같아 이부분만 정리. 1-1) 드라이버의 작동 원리- 모든 몽고디비 드라이버는 3가지 중요한 기능을 수행- 모든 도큐먼트의 _id 필드에 디폴트로 저장되는 객체 ID 생성.- 특정 언어로 표현된 도큐먼트와 몽고디비의 이진데이터 포멧인 BSON 사이의 변환 수행.- 몽고디비의 와이어 프로토콜을 사용해서 네트워크 소켓을 통해 몽고디비와 통신. 1-2) 객체 ID생성- 모든 몽고디비 도큐먼트는 primary key가 필요.- 개발자가 임의값을 넣어주는 것이 가능.- 임의값이 지정되지 않을경우 객체 id값이 사용.- id값의 처음 4바이트는 유닉스 에폭 후 몇 초가 지났는지를 나타낸다.- 다음..
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..
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..
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으로 출력되는데..
1장 요약 1. 몽고디비는 10gen에서 만듬 2. 몽고디비는 수평적인 확장이 가능하도록 설계됨(서버의 사양을 증설(수직적 확장)하는 것이 아닌 서버를 여러대 늘리는것? ) 3. 일반적인 관계형 데이터 베이스와는 다르게 키,값을 갖는 json 형식의 도큐먼트 형식으로 데이터가 저장됨 4. 도큐먼트는 미리 정해진 스키마가 없기 때문에, 이론적으로 같은 도큐먼트라도 데이터의 자료형이 다를수 있음. (하지만 그렇게 만들일이 있을까?). 5. 도큐먼트로 데이터를 구축하며 생기는 장점은 데이터 베이스에 종속적이지 않고 어플리케이션 주도적인 개발이 가능함 6. 애드혹 쿼리(??)를 지원함 (여러 개의 속성을 임의로 조합하여 질의할 수 있는 능력을 보여주고 있는데, 이러한 것이 애드혹 쿼리의 본질적 강점이라고 한다)..
스터디 교재 : 몽고디비 인 액션 http://book.naver.com/bookdb/book_detail.nhn?bid=6876243 내용은 알기 쉽게 되어있는것 같은데, 옛날 책이라 현재 몽고디비 버전(2016/11/16기준 3.2, 책 기준은 2.0)과 맞지않지만 책보다 안되거나 다른 부분은 찾아서 해결하기로. 스터디 끝날때까지 일주일안에 1포스팅은 꼭하기!! 3.2 몽고디비 메뉴얼 https://docs.mongodb.com/manual/ 책의 목차 ( 대충 훑어 봤을때 부록 A MongoDB 설치 와 D PHP, 자바, C++에서의 MongoDB 를 먼저 읽어보고 시작하는게 좋을듯 하다.) 제1부 시작하기 1장 현대 웹을 위한 도큐먼트 데이터베이스 3 1.1 클라우드에서 태어나다 51.2 Mon..
- Total
- Today
- Yesterday
- yyyy-MM-dd
- 중복 실행
- jquery
- cronexpression
- springsecurity
- 몽고디비
- sprign security
- GitHub
- 스프링시큐리티
- java
- Security
- remember-me
- fullcalendar
- intranet 설치방법
- git reflog
- javascript
- xcrun
- 자료형
- git log
- Spring
- indexeddb
- Git
- mongoDB
- 중복 호출
- array
- 인테리어 시뮬레이터
- 2장요약
- getaddrinfo ENOTFOUND localhost
- replaceWith
- errordocument