inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

mongoDB 기초부터 실무까지(feat. Node.js)

몽고디비 이미지

599

GODOT

작성한 질문수 38

1

안녕하세요. 또 궁금한점이 있어 문의드려요.

이미지 저장하고 있는데요.

저번에 말씀하신것처럼 디비에 이미지를 직접저장하지 않는다고 하셨는데 나중에 디비를 통해 찾고 싶으면 해당 파일이름이나 인덱스? 같은걸 저장 해놓았다가 이미지 파일 불러오면 될까요?

이미지 저장까지는 어찌어찌했는데 관리를 디비로 해야될것 같은데 너무 막연하네요.

이미지 데이터 엔지니어링 rest-api aws DBMS/RDBMS mongodb nodejs javascript

답변 1

0

김시훈 (도도소프트)

DEV JUNGLE님 안녕하세요 :)

이미지 저장이 쉬워보이는데 막상하면 막막한 부분들이 많죠.

음 일단 말씀하신대로가 맞아요. 이미지는 따로 파일저장소에 저장하고 디비에는 해당 이미지의 이름(경로)만 저장해주는거에요.

예를 보면 인프런의 제 아바타에 우클릭하면 이미지 주소 복사가 있는데요. 이렇게 나와요.

https://cdn.inflearn.com/public/users/thumbnails/121271/d9b0a93b-b36d-4916-b85e-84d33ba66328

데이터베이스에는 그러면 끝 부분(d9b0a93b-b36d-4916-b85e-84d33ba66328)만 저장해주시면 되요. avatarUrl이라는 필드를 유저 스키마에 추가한다고 하고 그러면 클라이언트에서는 이런식으로 해주면 되요:

<img src={`https://cdn.inflearn.com/public/users/thumbnails/121271/${user.avatarUrl}`} />

option usecreateindex is not supported 오류 나면은

0

146

1

Schemaless 특성을 재생시 검은화면이 나와요

0

240

1

user 내장 시 ref 필드 필요성

0

239

1

await 관련해서 질문드릴게 있습니다!!

0

292

2

섹션6의 3번째 강의 faker파일이 어디있나요?

0

308

1

$elemMatch 질문이 있습니다.

0

245

1

DB 업데이트에 실패했을 상황에서 대처는 어떻게 할 수 있나요.

2

766

2

블로그에 user 데이터를 추가하는 방법에 대해서

0

237

1

blog 데이터 생성시 user 관련 오류

0

351

1

age 예외 처리를 별도로 하신 이유가 궁금합니다.

2

301

2

delete 메소드가 많은 이유가 궁금합니다.

0

181

1

unique validation 처리

0

296

1

updateMany에서 user._id를 못찾는 상황

1

396

1

find() 가 리턴하는 instance member

1

431

3

몽고 db를 백업방법을 부탁합니다.

0

603

1

인덱스 생성시점

0

712

1

$pull 문법에 대한 질문

0

359

1

comment의 id가 생성되는 시점

1

301

1

리팩토링 강의에서 라우터 리팩토링 전개연산자(...)

1

315

1

session.abortTransaction()에 대한 실제 예시 문의

0

287

1

섹션9 Computed Fields 강의에서, 다음 강의 가기 전 빠진부분

-1

407

1

faker 패키지 취약성 이슈

1

486

1

라우터 리팩토링

0

341

1

섹션4 진행중, mongoose 질문

0

310

1