데이터에서의 미들웨어 사용은 사용자가 저장하기 전 어떠한 규칙이 적용되었는지 체크할 수 있고 암호 같은 경우 보안이 중요하기에 저장하기전 어떠한 함수를 부여한 후 POST 되게 할 수 있는 역할을 한다 미들웨어(Middleware,pre,post hook)는 비동기 함
실제 데이터베이스 자체에 존재하지 않는 스키마에 특성을 추가할 수 있게 해준다.first와 last가 있는 user Model이 있다. fullName에 접근하고 싶을 때 데이터베이스에 저장할 필요는 없고, 데이터베이스에 있는 것처럼 접근할 수 있는 특성을 만들자ful
Instance method는 모델을 통해 생성된 인스턴스에서 사용가능한 메서드이고, statics method는 모델 자체에서 사용가능한 메서드이다. Instance Method \- 모든 각각의 인스턴스에 사용 가능한 메서드\`new Product(\~~).sav
내장된 제약 조건Schema 타입 & 속성 & 제약조건 알아보기name이 required 인데, model을 생성할 때 생략하면 오류가 발생한다.type : String , type : Number 와 같이 type 을 명시하고, 해당 타입에 맞지 않는 값을 모델 생성
findByIdAndDelete > 파라미터로는 Document의 id가 들어온다. Document의 id 필드를 찾아 삭제한다. deleteOne > 컬렉션에서 조건에 일치하는 첫 번째 문서를 삭제한다 deleteMany > 컬렉션에서 조건과 일치하는 모든
업로드중..Mongoose와 MongoDB의 update 쿼리는 동작하는 방식이 다르다. MongoDB는 업데이트 할 내용을 그대로 replace 해버리는 반면에, Mongoose는 merge 하는 것처럼 동작한다. Mongoose가 왜 원본의 방식을 따르지 않고 다른
Mongoose는 Model.find() 함수를 가지고 있다. find 함수는 조건에 맞는 모든 documents를 반환해준다.Model.find()와 거의 같지만, 오직 하나의 document만 두 번째 인자로 넘긴 콜백 함수의 doc 인자로 전달된다.이 때 doc은
Mongoose 에서는 스키마와 모델의 개념이 가장 중요한데, 스키마를 정의할 때 주로 데이터의 형식, 데이터의 타입등을 고려하며 작성한다.스키마는 문서에 어떤 값 또는 특성이 들어가는지 정의 \- 데이터베이스의 테이블, 컬렉션 타입 및 속성을 정의하는 문서의 형태
업로드중..npm i mongoose Mongoose는 Promise를 지원하기 때문에 .then()과 .catch()를 이용하여 연결이 잘 되었는지 확인할 수 있다.
Node.js와 MongoDB를 위한 ODM(Object Data Mapping) 라이브러리이다.ODM을 활용하면 프로그래밍 언어 Object와 MongoDB의 데이터를 Mapping하여 호환성을 만들어내고, 간편한 CRUD를 가능하게 한다.필요에 따라 확장 및 변경이
데이터를 수정하는 함수는 updateOne()과 updateMany() 함수가 있다. 이름 그대로 updateOne() 함수는 검색되는 첫 번째 항목의 값을 수정하는 것이며, updateMany()함수는 일치하는 모든 조건을 수정하는 것이다.정보를 수정하는 update
가장 먼저 할 일은 mongo shell을 이용해 mongodb 에 접속하는 것이다. 접속이 완료되면 현재 나의 DB 리스트를 가져오도록 하자.MongoDB> show dbs초기에는 admin,config,local이 존재할것이다. 자신이 사용하고자 하는 데이터베이스를
일반적으로 JSON은 JavaScript Object Notation의 줄임말로 Js언어의 일부로 정의되어 있는 형식이다. 일반적으로 key와 value 값의 형태로 채워져 있으며 직관적이고 간단한 특성으로 쉽게 이해할 수 있는 형태의 표현 방법이다.JSON 등장 이전
SQL(Structured QUery Language)은 관계형 데이터베이스 관리 시스템(RDBMS)의 데이터를 관리하기 위해 설계된 특수 목적의 프로그래밍 언어이다. 많은 수의 데이터베이스 관련 프로그램들이 SQL을 표준으로 채택하고 있다.대중적으로 가장 많이 사용되
\--> woof woof woof !! - onlysayswoof 를 삭제한 모습마찬가지로 delete 라우터를 생성하고, show.ejs 템플릿에 삭제 버튼을 하나 추가해준다. delete 라우터에서는 filter 메소드를 통해서 id가 일치하지 않는 즉 , 삭제하
흔히 업데이트를 요청하는데 쓰이는 것은 PUT과 PATCH가 있다. PUT은 전체적인 내용을 업데이트 할 때 주로 사용되어 페이로드에 있는 건 무엇이든 요청에 포함할 것이다. 반면 PATCH는 부분적으로 수정이 가능하다.\--> 기존의 comment 내용이 woof w
지난 포스팅에서 우리는 comment에 임의의 id를 부여했다. 이렇게 임의로 아이디를 부여하게 되면 별로 좋은 방법이 아니라는 것을 알 것이다. 이런 경우를 위해 사용하는 패키지 UUID를 사용해보도록 하자.UUID는 유니크한 ID를 생성해주는 패키지라고 생각하면 된
이번 포스팅에선 흔히 Show rout , detail route라고도 부르는 걸 구현하는 방법에 대해서 알아보도록 하자.show route는 특정한 하나의 리소스에 대한 디테일을 주로 확장된 보기 형식으로 보여주는 것을 말한다. 해당 라우트는 일단 어떤 리소스에 대한
해당 코드를 통해 form 제출을 완료하고 comment 를 추가했다고 가정하면 다음과 같은 페이지가 나온다.하지만 문제점이 하나 발생하는데, 해당 페이지에서 새로고침을 누르면 ???다음과 같은 창이 뜨고, 계속 버튼을 누른 뒤 몇번의 새로고침과 계속버튼의 클릭이 이어
지난 글에서 Index 를 통해 CRUD중 Read를 작성해보았다.이번엔 New를 이용하여 새로운 post를 생성하고 해당 post를 목록에 추가해서 Create를 구현해보자. 마찬가지로 resource는 comments를 기반으로 한다.먼저 새로운 Post를 입력하는