[Mongo] 몽고에서 Criteria 빼고 Qclass 사용하기
·
DB/Mongo
🪴 0. 들어가기 전 MongoDB는 스키마가 없는 비관계형 데이터베이스로, ORM처럼 관계를 매핑하는 방식이 아닙니다.따라서 SQL이 아닌 JSON 기반 쿼리를 사용하며, 이를 객체로 다루기 위해 Criteria를 사용합니다. 그러나 Criteria를 사용했을 때, 필드명을 실수로 잘못 작성하더라도 컴파일 시 에러를 확인할 수 없다는 단점이 있습니다. 이번 포스팅에서는 MongoDB에서 Criteria를 사용하지 않고, Qclass 와 QueryDSL을 적용한 방법에 대해 다뤄보겠습니다.🪴 1. 기존의 Criteria 코드 Criteria 는 JSON 기반의 쿼리를 객체로 작성하기 위해 사용하는 방식입니다. 비교를 위해 먼저 Criteria로 작성된 예제 코드를 보여드리도록 하겠습니다.@Slf4j@..
[Mongo] ObjectId 중복가능성
·
DB/Mongo
MongoDB를 사용하면서 ObjectId 타입을 접하게 되었습니다. 저는 ObejctId에 대해서 MongoDB의 Document를 식별하기 위해 사용되는 12바이트의 식별자라고만 인지하고 있었습니다.그런데 저희 팀의 사수님께서 'ObjectId가 생성될 때 프로세스 ID 값도 사용된다'는 말씀을 해주셨습니다.단순히 랜덤숫자와 생성날짜의 조합이 아닌 프로세스의 ID값이 생성될 때 영향을 미친다?  저는 ObjectId가 생성될 때 영향을 주는 다른 값들도 존재하는지, 그리고 존재한다면 어떤 것들이 있는지 궁금해져 이 글을 작성하게 되었습니다. 1. MongoDB와 BSON 먼저, MongoDB는 BSON을 사용하고 있습니다. 또한  NoSQL 데이터베이스로 문서 기반(Document-Oriented) ..
[Mongo] MongoDB 설치 및 간단한 테스트 진행 (+에러해결)
·
DB/Mongo
1️⃣ MongoDB 설치 및 DB 생성1. MongoDB Homebrew 추가brew tap mongodb/brew 2. brew 업데이트brew update 3. MongoDB 설치 진행brew install mongodb-community@7.0 4. MongoDB 서버 시작 명령어brew services start mongodb/brew/mongodb-community 5. MongoDB 서버 종료 명령어brew services stop mongodb/brew/mongodb-community 6. MongoDB Compass (GUI) 설치설치만 해두고 8 단계에서 DB 생성하겠습니다. https://www.mongodb.com/try/download/compass Try MongoDB Tools..
[Docker] Docker + mysql container 생성 + DBeaver 접속
·
DB/Docker
1. Docker 란도커란 컨테이너화된 애플리케이션을 만들고 실행하기 위한 오픈 소스 플랫폼입니다.쉽게 말해 애플리케이션을 실행하기 위한 특별한 환경인 컨테이너를 만들어주는 도구입니다. 이 컨테이너는 애플리케이션과 필요한 모든 것들을 함께 묶어서 이동하고 실행할 수 있도록 도와줍니다.이를 통해 애플리케이션을 더 쉽고 효율적으로 관리할 수 있습니다. 2. Docker 설치- macOS 유저https://docs.docker.com/desktop/install/mac-install/ Install Docker Desktop on MacInstall Docker for Mac to get started. This guide covers system requirements, where to download, a..
[Postgres] Postgres 새로운 DB 생성
·
DB/Postgres
1. psql에서 기존 이름, 암호 입력2. 유저 생성create user 사용자이름 with password '비밀번호'; 3. DB 생성create database 데이터베이스이름 with owner 사용자이름; 4. 새로 추가한 유저로 DB 접속하기\c 데이터베이스이름 사용자이름 5. Schema 생성 (선택)create schema 데이터베이스이름 authorization 사용자이름; 6. 권한 부여하기ALTER USER 사용자이름 createdb replication; 7. 확인하기\du\dn+\l+
[MySQL] 테이블 생성 및 CRUD 기초
·
DB/MySQL
MySQL Cheat Sheet 에서 SQL문 예제 확인 가능 테이블 구조 확인DESC 테이블명;INSERT  구문INSERT INTO 테이블명(열1,열2,열3...) VALUES(값1,값2,값3...);SELECT 구문SELECT 확인할내용 FROM 가져올테이블명 WHERE 조건 ORDER BY 정렬기준;전체 조회열 지정내용 지정조건 지정정렬 기준 지정DESC : 오름차순LIMIT 숫자 : 해당되는 수 만큼의 행만 확인하겠다.UPDATE 구문UPDATE [테이블] SET [열] = '변경할값' WHERE [조건];DELETE 구문DELETE FROM 테이블명 WHERE 조건;
[MySQL] MySQL 기본
·
DB/MySQL
MySQL의 구조MySQL 서버 접속-uroot : 모든 권한 사용 가능 MySQL 스키마의 사용데이터베이스 생성CREATE DATABASE 데이터베이스이름데이터베이스 삭제DROP DATABASE 데이터베이스이름데이터베이스 확인SHOW DATABASES데이터베이스 사용USE 데이터베이스이름SQL과 테이블의 구조
[MySQL] 설치 및 접속 방법 (bitnami사용)
·
DB/MySQL
MySQL 설치 링크https://bitnami.com/download/files/stacks/wampstack/8.0.3-2/bitnami-wampstack-8.0.3-2-windows-x64-installer.exe?with_popup_skip_signin=1  Download WAMP packaged by BitnamiI just downloaded WAMP packaged by @bitnami. Check it out! https://bitnami.com/stack/wamp #applicationawesomeness Tweet will open in a new window Tweetbitnami.com MySQL 정상작동 확인 방법MySQL 이 정상적으로 작동하지 않는다면 이곳에서 Start가 되..