[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..