MongoDB 4

Typegoose:: Java에 “애노테이션”이 있다면, TypeScript에는 ‘데코레이터’가 있다

코드에서 @value 요런식의 문법을 보신적이 있는가? 아마 자바에서는 애노테이션, 타입스크립트에서는 데코레이터라고 부르는 문법일 것이다. 엄밀히 말하면 코드는 아니되, 컴파일단계에서 코드에 추가정보(=메타데이터) 를 붙이거나 주석의 느낌으로 문서화 하는등의 역할을 하는 ..오묘한 친구이다. 본 포스팅에서 다루는 것은 TypeScript의 데코레이터 이고, 이웃님이 Java 애노테이션을 잘 다뤄주신 글이 있어 허락 하에 첨부해본다.https://hanuz.tistory.com/5 [Spring] Annotation이 글은 알파코에서 진행 중인 [신한투자증권] 프로디지털아카데미 6기 과정 중 (SQL/백엔드) 과목의 (정미나/김송아) 강사님의 강의를 기반으로 작성되었습니다. 이번 주 KDT 회고Keep단..

DB/MongoDB 2025.09.13

스키마:: ORM과 ODM을 사용하기 위해서 이해되어야 할 개념

ORM/ODM은 프로그래밍시 데이터베이스를 객체 처럼 사용할 수 있게 해주는 놈이다. 이게 무슨 말이냐면.. job테이블(컬렉션)이 있다고 치면,job.insert({ title: "개발자" });job.delete({ id: 3 }); 이런식으로 DB연산을 메서드 호출처럼 다룬다. ORM과 ODM 개념은 유사한데, orm은 Rdbms, odm은 몽고 db에서 쓰인다고 이해했다. 여기서 나오는 개념이 스키마이다.먼저 db연결과 더불어 데이터 구조를 어떻게 가져갈 것인지(타입 등) 스키마를 통해서 정의해준다. 그리고 이 스키마를 가지고 모델을 만든다. 클래스와 객체랑 비슷하다고 대략적으로 생각하자.스키마는 붕어빵 틀! 모델은 붕어빵을 실제 사용할 수 있는 붕어빵 사장님!모델을 가지고 인스턴스를 만들어..

DB 2025.08.31

[mongoDB]로컬 데이터를 MongoCLI로 올려보기. (gz,bson,json)

RDBMS로 대응해서 이름을 변환하면 이렇습니다.테이블 = 컬렉션로우 = 다큐먼트컬럼 = 필드 몽고 DB에 로컬 데이터를 넣어본다. 몽고 DB 설치되어 있고, 켜져 있음.데이터 타입은 gz(mongodump로 export된 형태) 참고)*압축파일이라면?gz 로 압축되어 있더라도, 알아서 압축 풀어주니 그냥 올리자. *bson이나 metadata처럼 처음 보는 놈들이 딸려왔다면?Mongodump 명령어로 내보내기 된 데이터는 metadata.json, bson 이렇게 두 가지 형태가 같이 있다.ex) a.bson, a.metadata.json 메타데이터는 찐 데이터를 설명하는 용도이므로 실제 데이터가 아니다. (= 데이터를 설명하기 위한 데이터)그래서 몽고디비에 메타데이터, 실제 데이터를 올려준다면 몽고디..

DB/MongoDB 2025.08.31

[Node,Mongo] DB 연결 및 디스커넥션은 언제 해야할까?

[상황]서버 어플리케이션을 만들다보면, 다양한 함수에서 같은 DB에 접근해서 DB조작을 할 때가 많아진다. 그럼 동시에 DB 접근을 한다면 어떻게 될까? 일관성이 유지 되지 않을텐데? =>mongoose라이브러리는 DB.pool을 제공한다. 한번에 DB접근이 동시에 이뤄져도 , 개별연결인 것처럼 관리한다.=>DB에 한 번에 수정이 이뤄지지 않아서 일관성을 관리해준다~ **참고: Data pool이라는 개념은 몽고디비에서 connection한번 하면자동으로 적용되기에 pool 을따로 실행하지는 않아도 된다. 그렇다고 하더라도 우리는,마음놓고 DB 커넥션 함수를 남발하기 보다는!최소한만 사용하는 것이 좋겠지 ? 함수마다 열고 닫으면 .. 커넥션/디스커넥션이 반복되기에 “리소스 스파이크”를 얻게된다 . 여기서..