MongoDB(몽고DB)에서 문자열을 모두 바꾸려면 어떻게 할까요? 이 경우 find() 그리고 replace()를 사용하여 변환하는 것이 가능합니다. 이때 모두 바꾸기 위하여 forEach() 루프를 사용합니다. 만약 컬렉션 이름이 만약 site라면 아래와 같이 사용합니다.


# MongoDB 전체 문서에서 문자열 변경하는 방법
아래 방법은 모든 데이터의 문자열 전체를 변경하는 방법입니다. replace()를 사용합니다.

db.site.find().forEach(function(item) {
  item.field = item.field.replace('이전 문자열', '변경할 문자열');
  db.site.save(item);
})
이처럼 간단하게 함수를 사용하여 가능합니다. 그럼 몇가지 예제를 좀 더 알아봅니다.

! abc를 찾아 이를 모두 xyz로 바꾸는 방법

db.site.find({'title': /abc/g}).forEach(function(item) {
  item.field = item.field.replace('abc', /xyz/g);
  db.site.save(item);
})
위 예제는 정규식을 사용하여 해당 값을 모두 찾아 바꾸고 다시 저장합니다.