[TypeScript] for (let tag of data.tags)) 사용시 TypeError: 'x' is not iterable

개발/NestJS 2021. 11. 22. 08:20

원인 data.tags가 Promise.all 타입의 non-iterable 객체여서 for - of를 사용하지못하므로 TypeError가 발생하였다. 해결방법 Object.keys()를 통해 for (let tag of Object.keys(data.tags))처럼 사용하여 TypeError 문제를 해겷하였다.

[TypeORM] subQuery 사용하여 정보 가져오기

개발/TypeORM 2021. 11. 19. 08:20

pagination이 적용된 GET 메소드 API를 구성할 때, 주로 createQueryBuilder()를 활용하여 쿼리를 구성하고, .skip()과 .take()를 통해 pagination을 적용시킨다. 만약 다른 테이블에서 특정 칼럼의 값을 가져와 해당 값을 통해 현재 createQueryBuilder가 작동하는 테이블에서 필터링을 통해 값을 가져와야되면, TypeORM 공식 문서에 나와 있는 것과 같이 .getQuery(), .getParameter()를 사용하여 subQuery를 구성할 수 있다. TypeORM - Amazing ORM for TypeScript and JavaScript (ES7, ES6, ES5). Supports MySQL, PostgreSQL, MariaDB, SQLite..

TypeError: value.map is not a function

개발/NestJS 2021. 11. 15. 08:20

Nest GET 메소드 API를 구성하다, TypeError: value.map is not a function.가 발생하였다. .map()을 사용한 객체의 타입이 Promise { }인 것이 원인이었다. .map()을 사용하는 객체를 불러오는 코드에 async/await를 사용하여 비동기로 코드가 돌아가도록 수정하였다.

Article Thumbnail
[TypeORM] find() 옵션으로 SQL Join 하기

개발/TypeORM 2021. 11. 13. 08:20

TypeORM으로 다른 테이블에서 JOIN을 할 때, repository.find()에 relations 옵션을 활용하면 QueryBuilder를 사용하지않고도, JOIN해서 정보를 가져오는 것이 가능하다. retun this.repository.find({relations:['필요한 테이블명']})