본문 바로가기
프로젝트 개발 기록/[개발] node.js | nest, express

[Node.js] mongoose에서 새로운 필드 추가하기

by HelloJudy 2022. 5. 1.

01. 개요

 

DB 구축을 완료한 후 스키마에 새로운 필드가 추가되는 경우가 있다.

우리 서비스에서는 좋아요 수를 스키마에 추가하게 되었고 default 값으로 0이 들어가 있길 바랐다.

 

스키마에 추가된 필드

 

 

기존 데이터에 추가해 새로운 데이터와 동기화하기 위해서 다음과 같은 방법을 사용했다.


02. updateMany

 

static update = async () => {
    const findCocktail = await Cocktail.updateMany({}, { $set: { likes: 0 } });
    return findCocktail;
  };

 

updateMany를 활용하여 전체 도큐먼트에 값을 수정해보자!

 

👉 Mongoose 공식문서

 

1. 첫번 째 인자

 

  • 조회 조건문이다. 나는 모든 도큐먼트를 조회할 예정임으로 {} 비우뒀다.

 

2. 두번 째 인자

 

  • filter option이다. 특정 레코드만 변경할 수 있다.
  • $set operator : 해당 필드 값을 다른 것으로 교체하는 연산자이다.

 

 

이렇게 모든 도큐먼트에 likes 필드의 필드값을 0으로 바꿨다!

 

반응형

댓글