카테고리 없음

Mongo DB 데이터베이스 업데이트하기(update)

고인호 2023. 2. 23. 18:37
반응형

Mongo DB 데이터베이스 업데이트 방법


 

이번 포스팅은 Mongo DB 데이터베이스를 업데이트하는 방법에 대한 포스팅이다. 

우선 지난번에 이어서 우리가 만든 데이터 중 dogs에 대한 데이터들을 살펴보면

아래와 같다. 

 

 

 

이처럼 현재 dogs라는 집합안에는 3종류의 강아지 데이터가 들어있다. 

이중 첫번째로 보이는 'Charlie'라는 이름의 강아지 나이를

3이 아닌 4로 업데이트 해보려고한다. 

이럴때 우리는 updateOne() 명령어를 사용한다. 

 

이 updateOne() 명령어는 두개의 인수를 필요로 하는데,

① 가장 첫번째는 바로 선택자 에 해당한다. 

즉, 우리가 찾아서 업데이트 하려는 강아지 데이터의 이름은 Charlie 이기 때문에

updateOne({name: 'Charlie'})와 같은 방식으로 사용한다. 

 

두번째 인수는 $set 이라는 연산자가 필요하다. 

즉, 우리는 선택한 강아지의 나이(age)를 4로 업데이트 할 것이기 때문에

updateOne({name: 'Charlie'}, {$set: {age:4}}) 과 같이 입력해주면 된다. 

 

 

자 그럼 잘 업데이트가 되었는지 확인해보면

age 부분이 4로 업데이트 된 것을 확인할 수 있다.

 

 

이처럼 기존에 데이터가 가지고 있는 속성을 다른 값으로 업데이트 할 수 있지만

가지고 있지 않은 속성을 새롭게 입력해 줄 수 도 있다. 

예를 들어 현재 Chalie 라는 이름의 강아지에는 따로 color와 관련된 키 - 값 이 존재하지 않지만

color 값을 한번 아래와 같이 업데이트 해보겠다. 

 

 

이렇게 값을 업데이트하고 다시한번 charlie의 데이터를 살펴보면

위와 같이 새롭게 color와 관련한 키와 값이 새롭게 추가된 것을 알 수 있다. 

 

 

위의 방법을 응용해 updateMany()를 사용하면 

여러 데이터의 값을 업데이트해줄 수도 있다. 

 

다시한번 dogs의 데이터를 살펴보면 위처럼

catFriendly의 값이 true인 데이터가 두가지 존재하는 것을 알 수 있다.

이 두개를 다음과 같이 선택자를 통해 한번에 선택하고 값을 업데이트 해줄 수 있다. 

 

 

업데이트해보면 기존에 true 였던 두가지의 데이터 모두 catFriendly의 값이 false로 바뀐 것을 확인할 수 있다.

 

 

지금까지 확인한 것 처럼 $set을 사용하면 기존의 값을 다른 값으로 대체하거나, 새로운 값을 추가하는 역할을 한다.  

반응형