더북(TheBook)

8.5.3 Update(수정)

이번에는 기존 데이터를 수정해보겠습니다. 몽고디비 프롬프트에 다음 명령어를 입력합니다.

콘솔

nodejs> db.users.updateOne({ name: 'nero' }, { $set: { comment: '안녕하세요 이 필드를 바꿔보겠습니다!' } });
{
  acknowledged: true,
  insertedId: null,
  matchedCount: 1,
  modifiedCount: 0,
  upsertedCount: 0
}

첫 번째 객체는 수정할 다큐먼트를 지정하는 객체이고, 두 번째 객체는 수정할 내용을 입력하는 객체입니다. $set이라는 연산자가 사용되었는데요. 이 연산자는 어떤 필드를 수정할지 정하는 연산자입니다. 만약 이 연산자를 사용하지 않고 일반 객체를 넣는다면, 다큐먼트가 통째로 두 번째 인수로 주어진 객체로 수정되고 맙니다. 따라서 일부 필드만 수정하고 싶을 때는 반드시 $set 연산자를 지정해야 합니다.

수정에 성공했다면, 첫 번째 객체에 해당하는 다큐먼트 수(matchedCount)와 수정된 다큐먼트 수(modifiedCount)가 나옵니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.