๋จ์ผ ๋ฌธ์ ์์
์ด ํ์ด์ง์ ๋ด์ฉ
์ปฌ๋ ์ ์ ์๋ ๊ธฐ์กด ๋ฌธ์๋ฅผ ํธ์งํ ์ ์์ต๋๋ค.
๋ชฉ๋ก ๋๋ ํ ๋ณด๊ธฐ์์ ๋ฌธ์๋ฅผ ํธ์งํ ๋ Compass๋ findOneAndUpdate ์์ ์ ์ํํ์ฌ ๋ณ๊ฒฝํ ํ๋๋ง ์ ๋ฐ์ดํธํฉ๋๋ค.
JSON ๋ณด๊ธฐ์์ ๋ฌธ์๋ฅผ ํธ์งํ ๋ Compass๋ findOneAndReplace ์์ ์ ์ํํ๊ณ ๋ฌธ์๋ฅผ ๋ฐ๊ฟ๋๋ค.
์ ํ ์ฌํญ
MongoDB Compass Readonly Edition์์๋ ๋ฌธ์ ์์ ์ด ํ์ฉ๋์ง ์์ต๋๋ค.
์ ์ฐจ
๋ฌธ์๋ฅผ ์ด๋ป๊ฒ ํ์ํ ์ง์ ๋ฐ๋ผ ๋ชฉ๋ก ๋ณด๊ธฐ, JSON ๋ณด๊ธฐ, ํ ์ด๋ธ ๋ณด๊ธฐ ์ค ์ ์ ํ ํญ์ ์ ํํฉ๋๋ค.
๋ฌธ์๋ฅผ ์์ ํ๋ ค๋ฉด ๋ฌธ์ ์๋ก ๋ง์ฐ์ค๋ฅผ ๊ฐ์ ธ๊ฐ ๋ค์ ์ฐํ ์์ด์ฝ์ ํด๋ฆญํฉ๋๋ค.
์ฐํ ์์ด์ฝ์ ํด๋ฆญํ๋ฉด ๋ฌธ์๊ฐ ํธ์ง ๋ชจ๋๋ก ์ ํ๋ฉ๋๋ค. ์ด์ ๊ฐ์ ํ๋, ๊ฐ ๋๋ ๋ฐ์ดํฐ ์ ํ์ ๋ณ๊ฒฝํ ์ ์์ต๋๋ค.
ํ๋ ์ญ์
๋ฌธ์์์ ํ๋๋ฅผ ์ญ์ ํ๋ ค๋ฉด ํ๋ ์ผ์ชฝ์ ์๋ ์์ด์ฝ์ ํด๋ฆญํฉ๋๋ค.
์ ํํ๋ฉด ํด๋น ํ๋๊ฐ ์ ๊ฑฐ ๋์์ผ๋ก ํ์๋๊ณ ๋นจ๊ฐ์์ผ๋ก ๊ฐ์กฐ ํ์๋ฉ๋๋ค. Compass๋ ํ๋๋ฅผ ์ ๊ฑฐํ์ฌ ๋ฌธ์๋ฅผ ์ ๋ฐ์ดํธํ ์ง ์ฌ๋ถ๋ฅผ ํ์ธํ๋ผ๋ ๋ฉ์์ง๋ฅผ ํ์ํฉ๋๋ค.
์ ํ๋ ์ถ๊ฐ
๋ฌธ์์์ ๊ธฐ์กด ํ๋ ๋ค์ ์ ํ๋๋ฅผ ์ถ๊ฐํ๋ ค๋ฉด ๋ํ ์์์ ํ ๋ฒํธ ์์ ๋ง์ฐ์ค๋ฅผ ๋๊ณ ๋ํ๊ธฐ ๊ธฐํธ๋ฅผ ํด๋ฆญํ์ธ์. ํ ๋ฒํธ๋ ๋ฌธ์์ ์ผ๋ถ๊ฐ ์๋์ง๋ง ๋ํ ์์ ํ์์ ์ผ๋ถ์ ๋๋ค.
ํ ์คํธ ์ปค์๊ฐ ๋ง์ง๋ง ๋ฌธ์ ํ๋ ๊ฐ์ ์์ ๋ ํญ ํค๋ฅผ ๋๋ฌ ๋ฌธ์ ๋์ ์ ํ๋๋ฅผ ์ถ๊ฐํ ์๋ ์์ต๋๋ค.
๊ธฐ์กด ํ๋ ์์
๋ฌธ์๋ฅผ ์์ ํ๋ ค๋ฉด ๊ธฐ์กด ํ๋ ์ด๋ฆ์ด๋ ๊ฐ์ ํด๋ฆญํ๊ณ ๋ณ๊ฒฝํฉ๋๋ค. ์ด ์์ ์์๋ borough
์ด Manhattan
์์ Queens
๋ก ๋ณ๊ฒฝ๋์์ต๋๋ค. ๋ณ๊ฒฝ๋ ํ๋๋ ๋
ธ๋์์ผ๋ก ๊ฐ์กฐ ํ์๋ฉ๋๋ค.
๋ชฉ๋ก ๋๋ ํ ๋ณด๊ธฐ์์ ๋ฌธ์๋ฅผ ํธ์งํ ๋ Compass๋ findOneAndUpdate ์์ ์ ์ํํ์ฌ ๋ณ๊ฒฝํ ํ๋๋ง ์ ๋ฐ์ดํธํฉ๋๋ค.
Compass์์ ์ธ๋ถ์์ ์์ ํ ํ๋๋ฅผ ๋ณ๊ฒฝํ ๊ฒ์ ๊ฐ์งํ๋ฉด ์ด๋ฅผ ์๋ ค์ฃผ์ด ์ค์๋ก ์ธ๋ถ์์ ๋ณ๊ฒฝํ ๋ด์ฉ์ ๋ฎ์ด์ฐ๋ ๊ฒ์ ๋ฐฉ์งํฉ๋๋ค. ๊ณ์ ์งํํ๊ณ Update๋ฅผ ํด๋ฆญํ์ฌ ๋ฌธ์๋ฅผ ๋ฐ๊พธ๊ฑฐ๋ ๋ณ๊ฒฝ ์ฌํญ์ ์ทจ์ํ ์ ์์ต๋๋ค.
๋ณ๊ฒฝ ์ฌํญ ์ ์ฅ
๋ฌธ์ ํธ์ง์ด ๋๋๋ฉด Update
๋ฒํผ์ ํด๋ฆญํ์ฌ ๋ณ๊ฒฝ ์ฌํญ์ ์ ์ฉํฉ๋๋ค.
๋ณ๊ฒฝ ๋ด์ฉ ๋๋๋ฆฌ๊ธฐ
๋ฌธ์์ ๋ณ๊ฒฝ ์ฌํญ์ ๋๋๋ฆฌ๋ ค๋ฉด ํธ์ง๋ ํ๋ ์๋ก ๋ง์ฐ์ค๋ฅผ ๊ฐ์ ธ๊ฐ ํ ํ๋ ์ค ๋ฒํธ ์ผ์ชฝ์ ํ์๋๋ revert icon ์ ํด๋ฆญํ์ธ์.
๋ฌธ์๋ฅผ ์์ ํ๋ ค๋ฉด ๋ฌธ์ ์๋ก ๋ง์ฐ์ค๋ฅผ ๊ฐ์ ธ๊ฐ ๋ค์ ์ฐํ ์์ด์ฝ์ ํด๋ฆญํฉ๋๋ค.
์ฐํ ์์ด์ฝ์ ํด๋ฆญํ๋ฉด ๋ฌธ์๊ฐ ํธ์ง ๋ชจ๋๋ก ์ ํ๋ฉ๋๋ค. ์ด์ JSON document๋ฅผ ์์ ํ์ฌ ํ๋ ๊ฐ์ ์ถ๊ฐ, ์ ๊ฑฐ ๋ฐ ํธ์งํ ์ ์์ต๋๋ค.
๊ธฐ๋ณธ์ ์ผ๋ก ์ด ๋ณด๊ธฐ๋ ํฌํจ๋ ๊ฐ์ฒด์ ๋ฐฐ์ด์ ์จ๊น๋๋ค. ๋ด์ฅ๋ ๊ฐ์ฒด ๋ฐ ๋ฐฐ์ด ์์๋ฅผ ํ์ฅํ๋ ค๋ฉด ๋์ ๋ฌธ์ ์๋ก ๋ง์ฐ์ค๋ฅผ ๊ฐ์ ธ๊ฐ ๋ค์ ์ผ์ชฝ ์ ์๋ ํ์ดํ๋ฅผ ํด๋ฆญํฉ๋๋ค.
๊ฐ๋ณ ๊ฐ์ฒด์ ๋ฐฐ์ด์ ํ์ฅํ๋ ค๋ฉด ์ํ๋ ํ๋ ์ผ์ชฝ์ ์๋ ํ์ดํ๋ฅผ ํด๋ฆญํฉ๋๋ค.
JSON ๋ณด๊ธฐ์์ ๋ฌธ์๋ฅผ ํธ์งํ ๋ Compass๋ findOneAndReplace ์์ ์ ์ํํ๊ณ ๋ฌธ์๋ฅผ ๋ฐ๊ฟ๋๋ค.
Compass์์ ์ธ๋ถ์์ ์์ ํ ํ๋๋ฅผ ๋ณ๊ฒฝํ ๊ฒ์ ๊ฐ์งํ๋ฉด ์ด๋ฅผ ์๋ ค์ฃผ์ด ์ค์๋ก ์ธ๋ถ์์ ๋ณ๊ฒฝํ ๋ด์ฉ์ ๋ฎ์ด์ฐ๋ ๊ฒ์ ๋ฐฉ์งํฉ๋๋ค. ๊ณ์ ์งํํ๊ณ Update๋ฅผ ํด๋ฆญํ์ฌ ๋ฌธ์๋ฅผ ๋ฐ๊พธ๊ฑฐ๋ ๋ณ๊ฒฝ ์ฌํญ์ ์ทจ์ํ ์ ์์ต๋๋ค.
๋ฌธ์๋ฅผ ์์ ํ๋ ค๋ฉด ๋ฌธ์ ์๋ก ๋ง์ฐ์ค๋ฅผ ๊ฐ์ ธ๊ฐ ๋ค์ ์ฐํ ์์ด์ฝ์ ํด๋ฆญํฉ๋๋ค.
์ฐํ ์์ด์ฝ์ ํด๋ฆญํ๋ฉด ๋ฌธ์๊ฐ ํธ์ง ๋ชจ๋๋ก ์ ํ๋ฉ๋๋ค.
๋ชฉ๋ก ๋๋ ํ ๋ณด๊ธฐ์์ ๋ฌธ์๋ฅผ ํธ์งํ ๋ Compass๋ findOneAndUpdate ์์ ์ ์ํํ์ฌ ๋ณ๊ฒฝํ ํ๋๋ง ์ ๋ฐ์ดํธํฉ๋๋ค.
Compass์์ ์ธ๋ถ์์ ์์ ํ ํ๋๋ฅผ ๋ณ๊ฒฝํ ๊ฒ์ ๊ฐ์งํ๋ฉด ์ด๋ฅผ ์๋ ค์ฃผ์ด ์ค์๋ก ์ธ๋ถ์์ ๋ณ๊ฒฝํ ๋ด์ฉ์ ๋ฎ์ด์ฐ๋ ๊ฒ์ ๋ฐฉ์งํฉ๋๋ค. ๊ณ์ ์งํํ๊ณ Update๋ฅผ ํด๋ฆญํ์ฌ ๋ฌธ์๋ฅผ ๋ฐ๊พธ๊ฑฐ๋ ๋ณ๊ฒฝ ์ฌํญ์ ์ทจ์ํ ์ ์์ต๋๋ค.
ํ๋ ์ญ์
๋ฌธ์์์ ํ๋๋ฅผ ์ญ์ ํ๋ ค๋ฉด:
์ญ์ ํ๋ ค๋ ํ๋์ ๊ฐ์ ํด๋ฆญํฉ๋๋ค.
์์ด์ฝ์ ํด๋ฆญํฉ๋๋ค.
Update์ ํด๋ฆญํ์ฌ ๋ณ๊ฒฝ ์ฌํญ์ ํ์ธํฉ๋๋ค.
์ ํ๋ ์ถ๊ฐ
๋ฌธ์์ ์ ํ๋๋ฅผ ์ถ๊ฐํ๋ ค๋ฉด:
์ ํ๋๋ฅผ ์ถ๊ฐํ๋ ค๋ ํ๋๋ฅผ ํด๋ฆญํฉ๋๋ค.
์์ด์ฝ์ ํด๋ฆญํฉ๋๋ค.
Add Field after <Field Name>๋ฅผ ํด๋ฆญํฉ๋๋ค.
์๋ก ๋ง๋ ํ๋๋ฅผ ์ฑ์๋๋ค.
Update์ ํด๋ฆญํ์ฌ ๋ณ๊ฒฝ ์ฌํญ์ ํ์ธํฉ๋๋ค.
๋ณ๊ฒฝ ๋ด์ฉ ๋๋๋ฆฌ๊ธฐ
๋ฌธ์๋ฅผ ์์ ํ๋ ๋์ ์์ ํ ๋ฌธ์๋ฅผ ์ ์ฅํ๊ธฐ ์ ์ ํ๋์ ๋ณ๊ฒฝํ ๋ด์ฉ์ ๋๋๋ฆด ์ ์๋ ์ต์ ์ด ์์ต๋๋ค.
ํธ์งํ ํ ์ด๋ธ ์์์ ์ค๋ฅธ์ชฝ์ ๋ํ๋๋ revert icon์(๋ฅผ) ํด๋ฆญํฉ๋๋ค.
๋ณ๊ฒฝ ์ฌํญ ์ทจ์
ํธ์ง ๋ชจ๋๋ฅผ ์ข ๋ฃํ๊ณ ๋ฌธ์์ ๋ํด ๋ณด๋ฅ ์ค์ธ ๋ชจ๋ ๋ณ๊ฒฝ ์ฌํญ์ ์ทจ์ํ๋ ค๋ฉด Cancel ๋ฒํผ์ ํด๋ฆญํ์ธ์.
์ฌ๋ฌ ๋ฌธ์ ์์
๋๋ ์ ๋ฐ์ดํธ ์์ ์ํฌํ๋ก๋ฅผ ์ฌ์ฉํ์ฌ Compass์์ ์ฌ๋ฌ ๋ฌธ์๋ฅผ ์ ๋ฐ์ดํธํ ์ ์์ต๋๋ค. ์์ธํ ๋ด์ฉ์ ์ฌ๋ฌ ๋ฌธ์ ์์ ์ ์ฐธ์กฐํ์ธ์.
์ฐธ๊ณ
db.collection.updateMany()๋ฅผ ์ฌ์ฉํ ์๋ ์์ต๋๋ค. ๋จ์ผ ์์ ์ผ๋ก ์ฌ๋ฌ ๋ฌธ์๋ฅผ ์ ๋ฐ์ดํธํ๋ ๋ด์ฅ๋ MongoDB Shell์ ๋ฉ์๋์ ๋๋ค.