728x90
안녕하세요! 이번 강의에서는 'Mongoose로 업데이트하기'에 대해 알아보겠습니다. 영화 데이터를 업데이트하는 몇 가지 방법이 있습니다.
Update 메서드: updateOne 및 updateMany
가장 먼저 'update'라는 말로 시작되는 메서드들을 살펴봅시다. updateOne 및 updateMany가 여기에 해당됩니다. 이들 메서드는 갱신된 정보를 반환하지 않습니다. MongoDB의 기본 동작과 마찬가지로 'nModified'를 통해 갱신된 항목의 수만을 알려줍니다.
// updateOne 예제
Movie.updateOne({ title: 'Amadeus' }, { $set: { year: 1984 } }).exec();
// updateMany 예제
Movie.updateMany({ title: { $in: ['Amadeus', 'Stand By Me'] } }, { $set: { rating: 10 } }).exec();
findByIdAndUpdate 및 findOneAndUpdate
findByIdAndUpdate 및 findOneAndUpdate 메서드는 조건에 맞는 문서를 찾아 업데이트하고, 업데이트된 문서를 반환합니다. 이 메서드들은 Promise를 사용하여 결과를 처리합니다.
// findByIdAndUpdate 예제
Movie.findByIdAndUpdate(movieId, { $set: { rating: 7.8 } }, { new: true }).exec();
// findOneAndUpdate 예제
Movie.findOneAndUpdate({ title: 'The Iron Giant' }, { $set: { rating: 7.0 } }, { new: true }).exec();
{ new: true } 옵션을 사용하면 업데이트 후의 문서를 반환받을 수 있습니다.
중요한 경고 사항
기본적으로 findOneAndUpdate는 갱신된 문서 대신 이전 버전을 반환합니다. 이를 수정하려면 { new: true } 옵션을 사용하세요. 또한, Mongoose 설정에서 useFindAndModify를 false로 설정하여 경고를 제거할 수 있습니다.
이제 Mongoose를 사용하여 데이터를 업데이트하는 다양한 방법을 알게 되었습니다. 다음 시간에는 '삭제'에 대해 배우겠습니다.
계속해서 Mongoose의 다양한 기능을 활용하여 데이터를 다루는 방법에 대해 탐험해보세요!
728x90
'백엔드(Backend) > 데이터베이스' 카테고리의 다른 글
[MongoDB] Mongoose 스키마 유효성 검사 (1) | 2023.11.30 |
---|---|
[MongoDB] Mongoose로 삭제하기 (0) | 2023.11.29 |
[MongoDB] Mongoose로 찾기 (0) | 2023.11.29 |
[MongoDB] 데이터 대량 삽입하기 (0) | 2023.11.28 |
[MongoDB] Mongoose를 사용하여 MongoDB에 연결하기 (0) | 2023.11.27 |