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

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

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


몽고DB11

MongoTemplate Aggregate 사용간 파싱 버그 몽고db에서 집계함수를 통해서 통계작업을 하던 도중 당황스러운 버그를 보았다. CHOICE_INFO.REG_DATE는 일반 문자열 상수로 String 값을 가지며, 값은 reg_date라는 소문자를 넣어놨었다. 즉, 내가 가져오는 값은 date, date를 daying으로 바꾼 값 2개인데.. 위 스코드 어디에도 _id 를 키 또는 Projection에서 가져오는 구간이 없다. 그럼에도 불구하고 daying으로 이름을 바꾼 속성이 키 값으로 _id를 지정되서 나오는 모습을 보게 되었다.. 이런 황당한 버그를 보았나;; 아무튼 위 현상을 해결하기위해 간단한 소스코드 한줄을 추가하였다. 어디에도 쓰이지않는 아무의미없는 "1"이라는 값을 key, value로 가져오게 하자 위 현상이 멈추었다. 아마도.. Mo.. 2019. 7. 19.
MongoTemplate Aggregate Mongotemplate를 활용해서 집계함수를 실행하는 방법이다. 아래와 같은 데이터가 있다고 하자. { "_id":ObjectId("507f1f77bcf86cd799439011"), //고유 아이디 "date" : ISODate("2019-06-21 10:03:46.000Z"), //날짜 데이터 "text":"test", //단순 텍스트 "number":1234, //숫자 "type1":"A", //그룹핑할 데이터1 "type2":"AA" //그룹핑할 데이터2 }, { "_id":ObjectId("54af1e77gcfq6qdr22u39914"), "date" : ISODate("2019-06-21 10:03:46.000Z"), "text":"text text..", "number":1234, "type.. 2019. 6. 21.
전자정부, MongoTemplate 빈 생성 오류 전자정부 버전 3.5에서 몽고db와 커넥션을 활용하여 데이터베이스에 접속하는 환경설정을 하다가, 빈 생성시 오류메시지와 함께 동작하지 않았다. ​ 1. 오류타입 1 : spring-data-mongodb BeanFactoryReference error 2. 오류타입 2 : No bean named 'mongo' available 3. 오류타입 3 : spring framework failed to load applicationcontext 4. 오류타입 4 : java.lang.NoClassDefFoundError: com/mongodb/client/model/Collation ​ 설치한 라이브러리 버전이 실제 동작하는 스프링 프레임워크 버전과 안맞거나, 자바버전과 안맞거나 하는 등의 문제로 생각 되었다.. 2019. 6. 3.
스프링(전자정부), 몽고DB와의 연동 (몽고DB 터널링, Mongodb Ternering, Mongodb ssh) 스프링에서 몽고db를 연동하는 방법을 찾아보면, 스프링 boot랑 관련된 내용은 꽤 많이 나오는데..스프링과 관련된 내용은 그다지 많지 않는 것 같다. 몽고db와의 연동은 하이버네이트를 사용해 보았거나 JPA방식의 연동을 해 본 경험이 있으면 그다지 어렵지가 않다. 아무튼, 몽고db와의 연동을 위해서는 라이브러리를 받아야 한다. pom.xml에 라이브러리를 등록하여 주자. 라이브러리 버전때문에 문제가 발생 할 수 있으니 의존성관련 문제가 발생하면 구글링을 통해 맞는 버전을 찾자. org.mongodb mongo-java-driver 3.2.2 org.springframework.data spring-data-mongodb 1.9.1.RELEASE 위 2개의 라이브러리가 추가 한 뒤에 설정파일(xml)을 .. 2019. 5. 9.
Node.js Http parser 그리고 몽고DB express나 http 모듈을 사용하다 보면, 해당 Request에 대해서 요청 된 값을 받아오려 하는데... 왠걸? http.get...이런식으로 하면 에러가 나버린다.. body-parser모듈을 설치하면 데이터 파싱을 쉽게 할 수 있다. const express = require('express'); const bodyParser = require('body-parser'); const compression = require('compression'); app.use(bodyParser.urlencoded({ extended: false })).use(compression()); //압축옵션, http 응답을 빨리하기 위해 app.post('/ask', (req, res) => { const re.. 2019. 4. 27.