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

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

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


몽고DB/Java 몽고DB14

Watch 함수를 통한 몽고DB 트리거 만들기(mongoDB watch trigger) 몽고DB에서 제공하는 watch 함수를 사용하면 트리거를 만들 수 있습니다. 몽고DB는 트리거(trigger)를 제공하지 않기 때문에 관계형 데이터베이스처럼 데이터의 변화에 따른 행동을 정의하기가 다소 불편했던 것은 사실 입니다 * 2022년 1월 기준 몽고db에서는 컬렉션 객체에서 watch 함수를 지원 합니다. https://docs.mongodb.com/manual/reference/method/db.collection.watch/ db.collection.watch() — MongoDB Manual Docs Home → MongoDB Manualdb.collection.watch( pipeline, options )mongosh MethodThis is a mongosh method. This i.. 2022. 1. 28.
Mongodb Aggregate 밀리세컨드(milliseconds) 변환(날짜, 문자형식) with Mongotemplate 몽고DB에 저장되어 있는 밀리세컨드(millisecond)값을 집계함수(aggregate)를 통해서 변환하는 방법 입니다. * 기본적으로 몽고DB와 연동하는 라이브러리는 너무 낮지 않아야 합니다. : ) 먼저 파싱 할 데이터를 살펴보겠습니다. val이라는 키에 밀리세컨드값이 들어가 있습니다. 해당 값을 바꾸기 위해서 ConvertOperators 클래스를 활용하여 데이터를 변환하여 줍니다. { ToDate td = ConvertOperators.valueOf("val").convertToDate(); //ToDate라는 클래스가 반환 됩니다. } convertToDate메소드를 사용하면 ToDate라는 클래스 값을 받을 수 있습니다. ToDate라는 클래스는 AbstractAggregationExpres.. 2021. 7. 7.
몽고DB Aggregate 를 병렬 동작 처럼(Mongodb aggregate facet) MongoTemplate를 활용해서 aggregate를 동작하는 방법은 간단합니다. 아래와 같은 컬렉션을 예를 들어 보겠습니다. 여기서 우리가 데이터를 집계(aggregate) 하려면 아래와 같은 코드로 동작하게 하였습니다. public MongoTemplate template; public void testDb(){ ProjectionOperation dateProjection = Aggregation.project() .and("1").as("1") .and("_id").as("_id") .and("text").as("text") .and("number").as("number") .and("type_a").as("type_a") .and("type_b").as("type_b"); Criteria cr.. 2020. 11. 3.
몽고 db에서의 특수문자 검색(Mongodb 특수문자)시 유의사항 몽고db에서 저장 되어있는 특수문자를 조건을 통해서 조회하는 방법입니다. 먼저 샘플 컬렉션 입니다. 일반적으로 몽고db와 관련된 DBMS나 콘솔에서는 아래 사진처럼 쉽게 가능 합니다. 도큐먼트의 name 속성에 대해서 "(주)" 가 있는 내용을 검색하여 보겠습니다. 어렵지 않는 내용입니다. 따로 안될것이라 생각하지도 않는 내용입니다. 그러면 위 내용을 토대로 Java에서 실행하여 보겠습니다. 같은 조건으로 검색했는데 값이 없습니다. 물론 값이 나오는 경우도 존재합니다만, 위와 같이 특수문자에 의해서 조건이 안되는경우가 있습니다. 또한 검색을 하는데 결과가 없는 것이 아니라 오류가 발생하는 경우도 존재 합니다. Java에서 replaceAll을 하는 경우에 종종 만나는 패턴과 관련된 오류 입니다. 사용한 .. 2020. 7. 29.
Java 몽고DB 파일 업로드 (Java mongodb file, Java mongodb fs) Java에서 몽고DB에 파일을 등록하는 방법 입니다. 몽고DB에서는 다른 데이터베이스와 마찬가지로 파일을 업로드 할 수 있게 해 주고 있습니다. 파일형태는 바이너리로 변환하여 컬렉션에 저장이 되며, 다른 정보도 포함하여 저장 할 수 있습니다. 대용량 파일 저장은 아쉽게도 지원하지 않으며 16메가바이트 이하의 파일을 업로드 할 것을 권장하고 있습니다. 파일 업로드 하는 방법입니다. GridFSBucket클래스와 GridFSUploadOptions클래스를 사용 하였습니다. private void insertFile() throws Exception{ Document doc = new Document("type","image"); doc.append("content_type", "image/png"); doc.. 2020. 7. 3.
MongoTemplate or연산자를 통한 질의문 만들기(MongoTemplate or query) 몽고 템플릿을 활용한 or가 필요한 질의문 작성 방법입니다. 아래와 같은 데이터베이스의 컬렉션이 존재한다고 하겠습니다. 일반적인 질의문은 number가 "조건" 이면, text가 "조건" 이면 이러한 방식으로 되어 있습니다. 그런데 간혹 1개의 도큐먼트를 대상으로 질의문이 여러개가 필요할 때가 있습니다. 예를들어 text의 값이 ab를 포함하고 있거나, ef를 포함하고 있거나 아니면 hi를 포함하고 있는 경우에 대한 질의문 입니다. 일반적으로 아래처럼 질의문을 작성하고 오류를 만나게 됩니다. ^^; 단순하게 직관적으로 보면 크게 문제가 없는 질의문인데 같은 도큐먼트 대상으로 위 사진처럼 질의를 하게되면 동작하지가 않습니다. 이럴 때 필요한 것이 Criteria 클래스에서 제공하여 주는 orOperator.. 2020. 6. 18.