본문 바로가기
블로그 이미지

방문해 주셔서 감사합니다! 항상 행복하세요!

  
   - 문의사항은 메일 또는 댓글로 언제든 연락주세요.
   - "해줘","답 내놔" 같은 질문은 답변드리지 않습니다.
   - 메일주소 : lts06069@naver.com


몽고DB26

몽고DB 트랜잭션을 위한 리플리카 셋, 적용 테스트(Mongodb transaction, Mongodb replica set) 몽고DB 4.0 이상 버전부터 트랜잭션 지원이 가능하여 졌다. 몽고DB의 오랜 단점을 지워주는 멋진기능인데...이게 일반적인 몽고DB서버에 적용하는 것은 불가능 하다. https://docs.mongodb.com/manual/reference/method/Session.startTransaction/ 위 글의 핵심적인 내용은 몽고db에서의 트랜잭션은 리플리카셋 환경에서만 지원된다는 점 이다. * 리플리카 = 레플리카 = Replica 리플리카셋은 쉽게 말하면 백업 저장소의 개념이며 최소한 마스터서버, 슬레이브서버가 각 1개씩 존재 하여야 한다. 다른표현으로는...관계형 DB에서 주로 사용되는 "데이터베이스 이중화" 라는 말과 비슷한 개념이다. 마스터서버, 슬레이브서버 등으로 데이터베이스가 서로 최소 2개.. 2019. 11. 26.
Java Mongodb 연동, Java 몽고db 연동 (4.0이상 버전) 몽고DB가 4.0 이상 버전에서의 다양한 기능을 사용하려면 JAVA에서 지원하는 라이브러리 버전도 마찬가지로 올려주어야 한다. 구글링해서 나오는 연동 방법은 대부분 몽고드라이버 3.8 이하 버전때, 데이터 파싱을 담당하는 스프링데이터 2.1 이하 버전때를 사용해서 나오는 방법이다. * 2019.11.26 기준 * spring-data-mongodb : 2.1이하 버전 * mongo-java-driver : 3.8 이하 버전 그런데 4.0 이상의 몽고db의 기능을 좀 사용하려면 낮은 라이브러리를 사용하다보면 기능동작이 잘 안되는 경우가 존재 한다. 그리하여 해당 2개의 라이브러리 버전을 확 높여보았다. * spring-data-mongodb : 2.2.1 * mongo-java-driver : 3.11.1.. 2019. 11. 26.
Php 7.X 버전에서 몽고DB 연동 (php mongodb, php 몽고db) php에서 몽고db를 연동하기 위해서는 버전에 따라서 설치하는 라이브러리가 조금 상이하다. php7버전때와 php7이하 버전때의 사용법이 다르다. 윈도우계열에서의 설치는 .dll파일을 받으면 되는데 이상하게도 받은 파일이 잘 동작을 안해서 어려웠던 것 같다. 리눅스 계열에서는 아래 명령어로 설치가 쉽게 가능 하였다. 물론 pecl 버전확인과 해당 mongodb 패키지가 있는지 확인을 해 주어야 한다. pecl install mongodb 만약 외부 네트워크와 단절된 상황이라면...설치가 쉽지 않았던 것으로 기억한다. 몽고db에서의 기본 커넥션을 담당하는 객체는 Manager라는 객체가 담당한다. //비밀번호가 있는 경우 $manager = new MongoDB\Driver\Manager("mongodb:.. 2019. 11. 22.
MongoDB Timezone (MongoDB 시간, MongoDB TimeStampFormat) 몽고DB에서의 타임존 시간 값은 UTC로 고정이 되어 있다. 그렇기 때문에 한국시간과의 차이가 항상 9시간 존재하였으며, 특히 서버시간이 반영되지 않아서 조건을 주고 날짜를 가지고 검색하거나 집계하는 동안에 데이터가 빠지거나 더해지는 현상이 발생하고는 한다. 즉, Date형 자료형을 가지고 집계, 검색, 합계 등의 행위를 하는경우에 9시간 차이에 의해서 원치않는 값을 보고는 한다. https://docs.mongodb.com/v3.2/tutorial/model-time-data/ Model Time Data — MongoDB Manual Overview MongoDB stores times in UTC by default, and will convert any local time representatio.. 2019. 9. 25.
MongoTemplate Aggregate 2 (lookup, unwind,first,last,push ..) 몽고db에서 자주 사용되는 집계함수 기능에 대해서 정리하여 보았다. 1. body 컬렉션 내용은 아래와 같다. 2. head 컬렉션 내용이다. 3. 단순 집계 기능이다. 조회, 그룹핑, 카운트 및 합계이다. 대상은 body 컬렉션이다. as 메소드는 불리우는 이름이다. public void simpleSingle(){ Aggregation agg = null; AggregationResults results = null; agg = Aggregation.newAggregation( Aggregation.project() //1. 매핑할 이름 .and("text").as("text_conv") //2.기존 도큐먼트 이름 바꾸기 가능 .and("type").as("type") .and("date").as(".. 2019. 9. 6.
Node.js mongoose Aggregate mongoose에서의 몽고db의 집계함수 실행은 mongodb에서의 쿼리와 형태가 거의 같다. 또한 java와 python과의 속도 비교에서도 거의 비슷하다. var mongoose = require("mongoose"); var Schema = mongoose.Schema; // Connection URL var url = 'mongodb://127.0.0.1:27017/admin'; mongoose.connect(url, { useNewUrlParser: true }); //옵션 파라미터는 몽고db버전에 따라 다르다 var structor = new Schema({ "date":Date, "random_text1" : String, "random_text2" : String }); structor.s.. 2019. 8. 1.