
몽고디비에서 필드의 존재여부에 따라 상황별 쿼리문 어떻게 만들지? 오랜만에 mongoose와 mongodb 옵션을 활용해보니 다시 어색하고 가물가물했다. nosql의 단점은 sql에 비해 쿼리문이 복잡하다. 그만큼 다큐먼트에 있는 옵션들을 활용할 수록 원하는 데이터를 뽑아내기도하고 관리할 수 있다. 아래코드와 같이, typeorm은 분기를 하여 상황별로 쿼리문을 추가할 수 있다. const query = somehow .createQueryBuilder('users') .where(`user.deletedAt IS NOT NULL`) if (params.hasImage) { query.andWhere(`user.image IS NOT NULL`) } if (params.q != '') { query.an..

RDBMS 와 다르게 몽고디비는 JOIN을 할 수 없을까? populate 가 뭐지? 몽고디비에서의 JOIN과 같은건가? 몽고디비(Document based NoSQL) 에서는 SQL의 JOIN 와 똑같은 기능이 없어도 다른 콜렉션의 다큐먼트 데이터를 불러서 사용해야되는 상황이 필요하기에 유사한 기능은 존재한다. NodeJS 환경에서는 Mongoose를 사용하게되는데 Mongoose는 populate() 라는 함수가 그렇다. Mongoose 다큐먼트를 읽어보고 이해하는 것을 추천한다. Mongoose v6.7.2: Query Population MongoDB has the join-like $lookup aggregation operator in versions >= 3.2. Mongoose has a ..

deletedAt 값을 삭제날짜로 하여 soft-delete 방식으로 데이터를 삭제하려는데 다음과 같은 에러를 발생했다. ERROR [ExceptionsHandler] Cast to date failed for value "[Function: now]" (type function) at path "deletedAt" CastError: Cast to date failed for value "[Function: now]" (type function) at path "deletedAt" at model.Query.exec (/Users/ek/Documents/github/loveAlakazam/4_MarketService/node_modules/mongoose/lib/query.js:4891:21) at m..

패키지 설치 $ npm i @nestjs/config $ npm i @nestjs/mongoose mongoose $ npm i dotenv @types/dotenv - 필자는 몽고디비 altas를 사용한다. 그러므로 .env에서 mongodb uri를 불러와야하는데 이때 꼭 필요한 모듈이 @nestjs/config 이다. process.env.MONGODB_URI 보다는 configService.get('MONGODB_URI') 를 쓰는게 좋다 configs 디렉토리에 module 과 service 생성 - mongodb-config.service.ts // path: /src/config/mongodb-config.service.ts import { Injectable } from '@nestjs/c..

[문제사항] const mongoose = require('mongoose') mongoose.connect('클러스터 url', { useNewUrlParser: true, useUnifiedTopology: true, useCreateIndex: true, useFindAndModify: false, }).then(() => console.log('MongoDB Connected...')).catch( err => console.log(err)) 몽구스 패키지를 설치하고 연결하고 프로젝트를 실행시켜봤는데 에러로그를 출력하면서 프로젝트 코드를 실행됩니다. > start > node app.js Example app listening on port 3000 MongoParseError: options u..
- Total
- Today
- Yesterday
- nestjs jest
- 습관개선
- 디지털디톡스
- 개발용어
- nestjs
- 미완
- MongoDB
- vscode
- jest
- Nest.js
- IT용어
- RDBMS
- 나도 할 수 있다
- 한달어스
- 참고
- 갓생살자
- typeORM
- Mongoose
- node.js
- gem
- Jekyll
- OS
- git
- 한달독서
- 클린아키텍쳐
- TypeScript
- MySQL
- TDD
- 스마트폰중독
- 바이트디그리
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |