inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

173만명의 커뮤니티!! 함께 토론해봐요.

레파지토리 버전 다운 후 포스트맨 POST 호출시 에러 도와주세요 ㅠㅠ..

미해결

따라하며 배우는 NestJS

안녕하세요! 아래 에러 원인 파악이 힘들어서 도움을 요청드립니다 ㅠㅠ import { EntityRepository, Repository } from 'typeorm'; import { Board } from './board.entity'; import { BoardStatus } from './board-status.enum'; import { CreateBoardDto } from './dto/creaate-board.dto'; @EntityRepository(Board) export class BoardRepository extends Repository<Board> { async createBoard(createBoardDto: CreateBoardDto): Promise<Board> { const { title, description } = createBoardDto; const board = this.create({ title, description, status: BoardStatus.PUBLIC, }); await this.save(board); return board; } } [Nest] 4284 - 2023. 05. 23. 오전 1:24:20 ERROR [ExceptionsHandler] Cannot read properties of undefined (reading 'create') TypeError: Cannot read properties of undefined (reading 'create') at BoardRepository.Repository.create (C:\nestStudy\nestjs-board-app\src\repository\Repository.ts:99:29) at BoardRepository.createBoard (C:\nestStudy\nestjs-board-app\src\boards\board.repository.ts:11:24) at BoardsService.createBoard (C:\nestStudy\nestjs-board-app\src\boards\boards.service.ts:42:33) at BoardsController.createBoard (C:\nestStudy\nestjs-board-app\src\boards\boards.controller.ts:27:31) at C:\nestStudy\nestjs-board-app\node_modules\@nestjs\core\router\router-execution-context.js:38:29 at processTicksAndRejections (node:internal/process/task_queues:95:5) at C:\nestStudy\nestjs-board-app\node_modules\@nestjs\core\router\router-execution-context.js:46:28 at C:\nestStudy\nestjs-board-app\node_modules\@nestjs\core\router\router-proxy.js:9:17 왜 자꾸 create를 읽지 못한다고 하는건가요?? 여기서 어디를 수정해야되는지 알려주세요 ㅠㅠ 감사합니다 ㅠㅠ

  • postgresql
  • jwt
  • nestjs
  • typeorm
댓글 1 좋아요 0 조회수 819

docker-compose 후 데이터 전송 시 에러에 대해서...

해결됨

[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스

먼저 각 폴더의 경로입니다. 해당 코드는 몽고디비 경로입니다. 야믈파일에서의 코드입니다. docker-compose up 을 하고 데이터를 전송 했을 때의 에러입니다. (바디 안에 phone의 값은 스크린샷으로 인해 지운 부분입니다.) docker-compse를 하지 않은 상태에서의 데이터 전송 메세지입니다. 도커화 시키기 전에 바로 내 컴퓨터에서는 잘 전송이 되어지는데 docker-compose했을 때에 에러가 발생을 합니다. 위에는 docker-compose up명령어를 작동 시켰을때 나오는 메세지들인데 해당 건에서는 에러메세지라고 보일 만한 것들을 찾지 못하였습니다. 처음에는 몽고디비 경로를 잘못 설정 한 것 같아서 강의를 다시 보고 야믈파일에서 써주었던 database경로로 네임 리졸류션 하여 설정을 해주었는데 에러가 발생을 하여 질문을 남깁니다. ㅠ-ㅠ 혹시 제가 놓친 부분이나 잘못된 부분이 있다면 가르쳐주신다면 감사드립니다 ㅠㅠ 에러를 해결해보기 위해 도전해본 방법은 3가지 였습니다. 몽고디비 주소를 127.0.0.1:27017 에서 database:27017로 변경 후 도커빌드 -업 기존에 실행되고 있던 몽고디비를 중지한 후 도커 컴포즈업 실행 도커 이미지 모두 삭제한 후 다시 빌드 업 실행 해결 방법을 아신다면 답변 부탁드립니다. 감사합니다.

  • javascript
  • node.js
  • express
  • docker
  • tdd
  • rest-api
  • nestjs
aegis0918 댓글 1 좋아요 0 조회수 508

레퍼지토리 문제..해결하신 분 도와주세요 ㅠㅠ..

미해결

따라하며 배우는 NestJS

강의에서 나오는 버전이 달라서 생기는 문제로 일단 파악은 되었지만 인터넷등 댓글에 있는 방법으로 시도해봤지만, 저는 해결되지 않아서 질문글 남깁니다 ㅠㅠ 우선 제가 마지막으로 했던 방법은 BoardsModule 파일에서 forFeature([BoardRepository->Board로 변경하고 @Module({ imports: [TypeOrmModule.forFeature([Board])], controllers: [BoardsController], providers: [BoardsService, BoardRepository], }) export class BoardsModule {} BoardService 파일에서 @InjecRepository(BoardRepository)를 Board entity로 변경하면 된다는 글을 보고 따라했지만, @Injectable() export class BoardsService { constructor( @InjectRepository(Board) private boardRepository: BoardRepository, ) {} 포스트맨으로 직접 실행하기전에는 서버가 잘 실행되도, 포스트맨으로 호출하면 아래와 같은 오류가 나옵니다.. [Nest] 14464 - 2023. 05. 23. 오전 12:51:47 ERROR [ExceptionsHandler] this.boardRepository.createBoard is not a function TypeError: this.boardRepository.createBoard is not a function at BoardsService.createBoard (C:\nestStudy\nestjs-board-app\src\boards\boards.service.ts:42:33) at BoardsController.createBoard (C:\nestStudy\nestjs-board-app\src\boards\boards.controller.ts:27:31) at C:\nestStudy\nestjs-board-app\node_modules\@nestjs\core\router\router-execution-context.js:38:29 at processTicksAndRejections (node:internal/process/task_queues:95:5) at C:\nestStudy\nestjs-board-app\node_modules\@nestjs\core\router\router-execution-context.js:46:28 at C:\nestStudy\nestjs-board-app\node_modules\@nestjs\core\router\router-proxy.js:9:17 BoardRepository가 제대로 주입되지 않은 것 같은데 이후 해결방법을 도와주세요 ㅠㅠ 삽질을 그만 멈추고 싶습니다..

  • postgresql
  • jwt
  • nestjs
  • typeorm
하리 댓글 5 좋아요 0 조회수 1485

auth.service.ts에서 오류가 납니다

미해결

따라하며 배우는 NestJS

ㅇ 에러내용은 다음과 같습니다. '{ username: string; }' 형식의 인수는 'FindOneOptions<User>' 형식의 매개 변수에 할당될 수 없습니다. 개체 리터럴은 알려진 속성만 지정할 수 있으며 'FindOneOptions<User>' 형식에 'username'이(가) 없습니다.ts(2345)

  • postgresql
  • jwt
  • nestjs
  • typeorm
댓글 1 좋아요 0 조회수 328

section 10 수업과 관련해서 질문드립니다!

해결됨

[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스

데이터 추가 후 서버를 종료하고 다시 실행시키면 사진처럼 id column이 사라져버립니다. 이유를 모르겠습니다 ㅠ..

  • javascript
  • node.js
  • express
  • docker
  • tdd
  • rest-api
  • nestjs
김민규 댓글 1 좋아요 0 조회수 415

Duplicate entry '' for key 'product.PRIMARY' 에러

해결됨

[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스

graphql로 상품등록 하고 mysql를 끄고 다시 키면 Duplicate entry '' for key 'product.PRIMARY' 에러가 발생합니다. 그래서 mysql에 있는 데이터를 삭제하고 다시 mysql를 키면 정상적으로 작동을 합니다. 데이터를 수동으로 삭제를 안하고 작동을 어떻게 시킬수 있나요?

  • javascript
  • node.js
  • express
  • docker
  • tdd
  • rest-api
  • nestjs
WooQ 댓글 1 좋아요 0 조회수 723

section 29 update 함수 어떻게 수정하면 될까요?

해결됨

[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스

감이 안잡히는데 좀 도와주세요 ㅜㅜ 힌트라도 주시면 감사하겠습니다.. async update({ productId, updateProductInput, }: IProductsServiceUpdate): Promise<Product> { const product = await this.findOne({ productId }); this.checkSoldout({ product }); const result = this.productsRepository.save({ ...product, // 수정 후 수정되지 않은 다른 결과값까지 모두 받고 싶을 때 사용 ...updateProductInput, }); return result; }

  • javascript
  • node.js
  • express
  • docker
  • tdd
  • rest-api
  • nestjs
Haewoong Lee 댓글 1 좋아요 0 조회수 500

section 29 예제 코드 오류

해결됨

[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스

안녕하세요. section29까지 수강을 다 진행하였는데요. 예제 코드 관련 오류가 있어 질문드립니다. 예제코드가 데이터베이스 처음 만든 상태에서는 괜찮은데 데이터베이스에 데이터를 넣고 코드를 수정하면 아래와 같은 오류가 나옵니다. query failed: ALTER TABLE `product_saleslocation` ADD `id` varchar(36) NOT NULL PRIMARY KEY error: Error: Duplicate entry '' for key 'product_saleslocation.PRIMARY' query: ROLLBACK [Nest] 33022 - 05/21/2023, 12:47:43 PM ERROR [TypeOrmModule] Unable to connect to the database. Retrying (1)... QueryFailedError: Duplicate entry '' for key 'product_saleslocation.PRIMARY' 그리고 DBeaver로 확인하면 product_saleslocation의 기본키인 "id"가 자동으로 삭제되어 있습니다. product_saleslocation의 비정상적인 데이터를 삭제해도 다른 테이블의 기본키에서도 동일한 오류가 발생합니다. 코드를 단순히 주석만 삭제하고 저장해도 프로젝트가 재실행되고 나서 저런 오류가 발생합니다. 프로젝트가 재실행될 때마다 DB에 자동적으로 뭔가 데이터 수정 작업을 하는거 같은데 아무 요청도 안 했는데 DB에 수정이 일어나는 이유를 모르겠습니다.

  • javascript
  • node.js
  • express
  • docker
  • tdd
  • rest-api
  • nestjs
Haewoong Lee 댓글 1 좋아요 0 조회수 376

sleact 테이블 생성에 실패 하시는 분들을 위한 팁

미해결

Slack 클론 코딩[백엔드 with NestJS + TypeORM]

강의 4~ 5분 즈음에 sleact 테이블을 생성하는데요 아래의 에러 메시지가 나오면서 테이블 생성에 실패 하시는 분들은 > a-nest@0.0.1 db:create > ts-node ./node_modules/typeorm-extension/dist/cli/index.js db:create -d ./dataSource.ts /Users/user/Documents/SideProjects/sleact/a-nest/node_modules/mysql2/lib/connection.js:161 const err = new Error( ^ Error: Can't add new command when connection is in closed state at Connection._addCommandClosedState (/Users/gim-uijung/Documents/SideProjects/sleact/a-nest/node_modules/mysql2/lib/connection.js:161:17) at Connection.end (/Users/gim-uijung/Documents/SideProjects/sleact/a-nest/node_modules/mysql2/lib/connection.js:902:26) at Query.onResult (/Users/gim-uijung/Documents/SideProjects/sleact/a-nest/node_modules/typeorm-extension/dist/database/driver/mysql.js:27:28) at Connection._notifyError (/Users/gim-uijung/Documents/SideProjects/sleact/a-nest/node_modules/mysql2/lib/connection.js:241:17) at Connection._handleFatalError (/Users/gim-uijung/Documents/SideProjects/sleact/a-nest/node_modules/mysql2/lib/connection.js:180:10) at Connection._handleNetworkError (/Users/gim-uijung/Documents/SideProjects/sleact/a-nest/node_modules/mysql2/lib/connection.js:193:10) at Socket.emit (node:events:513:28) at Socket.emit (node:domain:489:12) at emitErrorNT (node:internal/streams/destroy:151:8) at emitErrorCloseNT (node:internal/streams/destroy:116:3) {} dotenv 패키지를 설치하세요. npm i dotenv dotenv 설치하는 부분이 편집 과정중 어디선가 생략된것 같아요. 아주 간단 한건데 이거 때문에 삽질을 좀 해서 혹시나 도움이 될까 싶어 올립니다.

  • node.js
  • express
  • nestjs
  • typeorm
김의중 댓글 1 좋아요 0 조회수 512

puppeteer 라이브러리 사용 중에 질문 드립니다.

해결됨

[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스

퍼펫티어 쪽 코드인데 미니프로젝트에서 요구한 30개 이상을 크롤링 하는 부분을 완성을 해서 추가적으로 전체 메뉴를 긁어오고 싶어서 위와 같이 코드를 추가했습니다. 12번째 코드부터 15번째 코드까지가 총 데이터 길이를 구하는 코드인데 해당 코드에서 console.log(cnt); 콘솔로 cnt를 출력해보면 위와 같이 숫자 10까지 밖에 출력이 안되어서 질문 드립니다. 퍼펫티어 docs에서도 이렇게 설명이 되어있어서 해당 코드라면 스타벅스 내에 있는 모든 전체상품 이미지가 크롤링 되어야 될 거 같은데 스타벅스 홈페이지에서 카피를 하면 nth-child 의 값은 10까지 밖에 찍히지 않고 전체 메뉴가 크롤링 되는 것이 아닌 도중에 제주 말차 메뉴까지 밖에 크롤링이 되지 않는 것이 의문이라 질문 드립니다. 혹시 해당 코드에 문제가 무엇인지 조언을 부탁 드리고 싶습니다 ㅠㅠ 전체 코드는 아래와 같습니다. import puppeteer from "puppeteer"; import mongoose from "mongoose"; import { starbucks } from "../model/starbucksSchema.js"; export async function startCrawling() { const browser = await puppeteer.launch({ headless: false }); const page = await browser.newPage(); await page.setViewport({ width: 1920, height: 1080 }); await page.goto("https://www.starbucks.co.kr/menu/drink_list.do"); await page.waitForTimeout(2400); const cnt = await page.$$eval( `#container > div.content > div.product_result_wrap.product_result_wrap01 > div > dl > dd:nth-child(2) > div.product_list > dl > dd `, (data) => data.length ); console.log(cnt); for (let i = 1; i <= cnt; i++) { const second_cnt = await page.$$eval( `#container > div.content > div.product_result_wrap.product_result_wrap01 > div > dl > dd:nth-child(2) > div.product_list > dl > dd:nth-child(${i}) > ul > li`, (data) => data.length ); for (let j = 1; j <= second_cnt; j++) { const image = await page.$eval( `#container > div.content > div.product_result_wrap.product_result_wrap01 > div > dl > dd:nth-child(2) > div.product_list > dl > dd:nth-child(${i}) > ul > li:nth-child(${j}) > dl > dt > a > img`, (el) => el.src ); const name = await page.$eval( `#container > div.content > div.product_result_wrap.product_result_wrap01 > div > dl > dd:nth-child(2) > div.product_list > dl > dd:nth-child(${i}) > ul > li:nth-child(${j}) > dl > dd`, (el) => el.textContent ); console.log(`이름: ${name}, 이미지: ${image}`); const starbucks_db = await starbucks.updateOne( { name: name }, { img: image }, { upsert: true } ); } } await browser.close(); } startCrawling();

  • javascript
  • node.js
  • express
  • docker
  • tdd
  • rest-api
  • nestjs
aegis0918 댓글 2 좋아요 0 조회수 658

graphQL 에러 문제

해결됨

[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스

안녕하세요. 그래프큐엘 관련 에러가 해결이 되지 않아 질문드립니다. 아래와 같은 Member, Dibs 엔티티가 있습니다. @Entity() @ObjectType() export class Dibs { @ManyToOne(() => Member, { primary: true }) @Field(() => Member) member: Member; @ManyToOne(() => Campground, { primary: true }) @Field(() => Campground) campground: Campground; @DeleteDateColumn() deletedAt: Date; } @Entity() @ObjectType() // @InputType() export class Member { @PrimaryColumn() @Field(() => String) memberId: string; @Column({ nullable: false }) @Field(() => String) password: string; @Column({ nullable: false }) @Field(() => String) nickname: string; @Column({ nullable: false }) @Field(() => String) email: string; @Column({ nullable: false }) @Field(() => String) name: string; @Column({ nullable: false }) @Field(() => String) phoneNumber: string; } 그런데 Member 클래스를 다른 엔티티 클래스에서 외래키로 지정해주면 오류가 발생합니다. 코드를 보시면 Dibs 엔티티에서 Member를 @Field(() => Member) 데코레이터로 지정하여 그래프큐엘 필드로 지정해주는데 아래의 오류가 발생합니다. Error: Cannot determine a GraphQL input type ("Member") for the "member". Make sure your class is decorated with an appropriate decorator. 인터넷에 찾아보니 Member 클래스에 InputType 데코레이터를 지정해주라고 돼있는데 강의 예제코드에선 특정 클래스를 다른 엔티티에서 외래키로 활용할 때 그 클래스에 ObjectType만 지정하고 InputType은 지정해주지 않아도 잘 작동하였습니다. Member클래스 뿐만 아니라 외래키로 활용되는 모든 클래스에서 오류가 발생하고 있습니다. 해당 클래스들에 InputType을 지정하면 오류가 사라지긴 하나 아래와 같은 다른 오류가 또 발생합니다. Error: Schema must contain uniquely named types but contains multiple types named "Member". 이틀 동안 여러가지 찾아보고 해결을 시도해봤지만 잘 안되네요. 도움 부탁드립니다.

  • node.js
  • nestjs
  • graphql
댓글 1 좋아요 0 조회수 575

객체를 저장하는 경우도 있나요?

해결됨

Slack 클론 코딩[백엔드 with NestJS + TypeORM]

안녕하세요. 혹시 디비에 객체를 저장하는 경우도 있나요? 예를들어 아래처럼 5개의 색상 키와 그 키에 해당하는 string을 값으로 가지는 객체 형태를 유저 정보에 저장하고 싶어요. // Color 객체 예시 입니다. { RED: string; BLUE: string; GREEN: string; YELLOW: string; PURPLE: string; } nest&typeorm는 처음이다보니 chatgpt의 도움을 많이 받고 있는데요. 객체는 저장이 되지 않지만 postgresql 에서는 이런 방법을 알려주긴하더라고요. export class User extends BaseEntity { @PrimaryGeneratedColumn() id: number; @Column() email: string; // 생략... @Column({ type: 'jsonb', nullable: true }) categories: { [key in Color]: string } | null; // 생략... 이 5개에서 늘어나거나 줄어들일이 없어서 테이블을 만드는게 맞는지 고민이 돼서요. 위와 같이하는건 좀 이상한 방법일까요? 이럴거면 그냥 email:string 하듯이 RED:string 이런식으로 컬럼 5개로 저장하는 방법이 나을까요?

  • node.js
  • express
  • nestjs
  • typeorm
댓글 1 좋아요 0 조회수 417

타입 단언과 관련해서 질문드립니다.

해결됨

타입스크립트의 모든 것

강의를 다 보고 나서 의문점이 들어서 질문 드립니다. 강의에서 value 값을 출력하기 위해서 인터페이스를 만들고 as랑 제네릭을 활용하는 법을 알려주셨는데 제 생각에는 인터페이스를 만들었으니까 example의 타입으로 인터페이스를 주면 되지 않을까 했습니다. 해봤더니 에러가 안 나고 출력도 잘 되더라고요 저한테는 인터페이스를 타입으로 주는 것이 더 간편하게 느껴지는데 object를 타입으로 주는 것이 더 실무에 적합한 방식인 건가요? 어떤 차이점이 있을까요? 그리고 제네릭을 식별자 뒤에 쓰면 인수와 관련된 것 같은데 식별자 앞에 제네릭을 쓰면 어떤 의미인가요?

  • typescript
  • Deno
  • nestjs
aa aa 댓글 1 좋아요 0 조회수 675

backend폴더 복사 후, dist폴더의 위치

해결됨

[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스

안녕하세요. 21-03 폴더 를, 23-01/backend 폴더 내에 복사 하였습니다. 빌드 후, dist 폴더가 backend/backend/dist 에 위치합니다. 수업화면에서 처럼 backend/dist에 위치하게 하려면 어떻게 해야하나요? 답변해주시면 감사하겠습니다~

  • javascript
  • node.js
  • express
  • docker
  • tdd
  • rest-api
  • nestjs
민유 댓글 1 좋아요 0 조회수 557

이 오류는 어떻게 잡아야할까요...

미해결

따라하며 배우는 NestJS

혹시 이런 오류 뜨시는 분은 안계셨나요 오류는 없는데 실행이 되질 않습니다ㅜ

  • postgresql
  • jwt
  • nestjs
  • typeorm
댓글 1 좋아요 0 조회수 653

extends와 implements질문 드립니다.

미해결

타입스크립트의 모든 것

extends의경우 클래스와 클래스간의 상속간에 사용되는것 아닌가요?? 그래서 인터페이스는 implements를 사용하는 것으로 알고있는데 extends를 사용해도 되나요??

  • typescript
  • Deno
  • nestjs
WJJJJJJ 댓글 1 좋아요 0 조회수 320

OG 실습 중에 궁금한게 생겨 질문드립니다.

해결됨

[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스

불과 얼마전에 네이버가 사이트를 바꿨는데요 오늘 OG 실습을 하던 중, 네이버 head / meta에 OG tag가 사라진 것을 확인했습니다. OG tag가 없이도 미리보기가 잘 구현되는데, 어떻게 가능한지가 궁금해 질문드립니다.

  • javascript
  • node.js
  • express
  • docker
  • tdd
  • rest-api
  • nestjs
김민규 댓글 1 좋아요 0 조회수 541

04-06 Mongoose 활용 강좌 21분 경에 포트포워딩 주석을 해제하고 진행했는데

해결됨

[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스

저는 주석 안풀고 그냥 네임 리졸루션으로 했는데 그렇게 진행해도 되나요? 그런데 이렇게 하면 compass 프로그램 주소를 mongodb://my-database:27017/mydocker 이렇게 가야하는 건가요?

  • javascript
  • node.js
  • express
  • docker
  • tdd
  • rest-api
  • nestjs
박상준 댓글 1 좋아요 0 조회수 366

docker-compse volumes 관련 질문드립니다!

해결됨

[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스

docker-compose.yaml에 volumes 추가한 후 실행해봤지만 index를 바꿔도 refresh되지 않습니다. 그래서 반대로 container의 값을 수정하면 local의 index.js가 바뀔까 했지만 위의 사진처럼 오류가 발생합니다. Mount되었다는 것으로 보아 연결은 된 것 같고, 제공된 파일과 강의 비교하면서 오탈자 찾아봤지만 모두 같습니다. 이를 해결하기 위해 어떻게 접근해야할지 궁금합니다.

  • javascript
  • node.js
  • express
  • docker
  • tdd
  • rest-api
  • nestjs
김민규 댓글 1 좋아요 0 조회수 512

질문 드립니다.

해결됨

타입스크립트의 모든 것

keyof 강의를 듣다가 생긴 에러인데요 prt 함수에서 key의 타입을 string으로 주면 저렇게 에러가 뜨는데 이유를 봐도 이해가 잘 가지 않아서 질문드립니다. 혹시 단순히 string으로 타입을 주면 params의 프로퍼티 키인지 타입스크립트가 알 수 없어서 에러가 뜨는 것인가요?

  • typescript
  • Deno
  • nestjs
aa aa 댓글 2 좋아요 0 조회수 398

인기 태그

인프런 TOP Writers

주간 인기글