본문 바로가기

백엔드/MongoDB

DataBase (4) - 정규식표현, 16진수(24byte) 문자열

findById

몽고DB가 생성하는 id포맷은 24바이트 16진수를 사용하고 있다. 16진수는 0~9, a-f로 구성된 진수이다. 정규식표현으로 16진수가 맞는지 확인할 수 있다. [0-9a-f]{24} : [16진수 표현방법]{글자수}

 

 

16진수로된 id값을 찾기위해 정규식표현을 사용하여 url을 연결시켜 줬다.

 

연결된 url에 watch페이지를 넘겨주는데 DB에서 해당 id값을 찾아준 후 값을 넘겨준다. id는 req.params에서 불러올 수 있고 mongoDB의 document 찾는 방법 중 Id 값을 이용하여 찾는 Vidoe.findById(id)을 이용했다. db를 불러온 후에 값을 넘겨줘야 하기 때문에 async-await 처리를 해준다.

 

 

만약 할당되지 않은 ID로 접속할 경우 에러가 발생한다. video가 존재하지 않아 title이 null로 에러가 발생한다. if-else을 사용하여 video가 존재하는지 확인 해주면 된다. video가 있으면 watch render 없으면 에러페이지 render.

 

 


findById

 

Mongoose v7.3.1: Model

Parameters: doc «Object» values for initial set [fields] «Object» optional object containing the fields that were selected in the query which returned this document. You do not need to set this parameter to ensure Mongoose handles your query projection

mongoosejs.com

정규식표현 연습 

 

Regex Tester - Javascript, PCRE, PHP

RegexPal requires a modern browser. Please update your browser to the latest version and try again.

www.regexpal.com

 

반응형

'백엔드 > MongoDB' 카테고리의 다른 글

DataBase (6) - Middlewares  (0) 2023.07.11
DataBase (5) - Edit Data  (0) 2023.07.10
DataBase (3) - Create Data  (0) 2023.07.03
DataBase (2) - callback, promise  (0) 2023.06.30
DataBase (1) - Setting  (0) 2023.06.28