db.changeUserPassword()
์ด ํ์ด์ง์ ๋ด์ฉ
์ ์
db.changeUserPassword(username, password)
์ฌ์ฉ์์ ๋น๋ฐ๋ฒํธ๋ฅผ ์ ๋ฐ์ดํธํฉ๋๋ค. ์ฌ์ฉ์๊ฐ ์ ์๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค, ์ฆ ์ฌ์ฉ์๋ฅผ
created
๋ก ์ง์ ํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ๋ฉ์๋๋ฅผ ์คํํฉ๋๋ค.์ค์
Mongo์ฌ ๋ฐฉ๋ฒ
์ด ํ์ด์ง์์๋
mongosh
๋ฉ์๋์ ๋ํด ์ค๋ช ํฉ๋๋ค. ์ด๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ช ๋ น ๋๋ Node.js์ ๊ฐ์ ์ธ์ด๋ณ ๋๋ผ์ด๋ฒ์ ๋ํ ์ค๋ช ์๊ฐ ์๋๋๋ค.๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ช ๋ น์ ๋ํด์๋
updateUser
๋ช ๋ น์ ์ฐธ์กฐํ์ญ์์ค.MongoDB API ๋๋ผ์ด๋ฒ์ ๊ฒฝ์ฐ ์ธ์ด๋ณ MongoDB ๋๋ผ์ด๋ฒ ์ค๋ช ์๋ฅผ ์ฐธ์กฐํ์ธ์.
Parameter์ ํ์ค๋ชusername
๋ฌธ์์ด
๋น๋ฐ๋ฒํธ๋ฅผ ๋ณ๊ฒฝํ๋ ค๋ ์ฌ์ฉ์์ ์ด๋ฆ์ ๋๋ค.
password
๋ฌธ์์ด
์ฌ์ฉ์์ ๋น๋ฐ๋ฒํธ์ ๋๋ค. ๊ฐ์ ๋ค์ ์ค ํ๋์ผ ์ ์์ต๋๋ค.
์ผ๋ฐ ํ ์คํธ ๋ฌธ์์ด๋ก ๋ ์ฌ์ฉ์์ ๋น๋ฐ๋ฒํธ
passwordPrompt()
๋ฅผ ์ ๋ ฅํ์ฌ ์ฌ์ฉ์์ ๋น๋ฐ๋ฒํธ๋ฅผ ์ ๋ ฅํ๋ผ๋ ๋ฉ์์ง๋ฅผ ํ์ํฉ๋๋ค.๋ฉ์๋/๋ช ๋ น ํธ์ถ์์ ์ํธ๋ฅผ ์ง์ ์ง์ ํ๋ ๋์
passwordPrompt()
๋ฉ์๋๋ฅผ ๋ค์ํ ์ฌ์ฉ์ ์ธ์ฆ/๊ด๋ฆฌ ๋ฉ์๋/๋ช ๋ น๊ณผ ํจ๊ป ์ฌ์ฉํ์ฌ ์ํธ๋ฅผ ๋ฌป๋ ๋ฉ์์ง๋ฅผ ํ์ํ ์ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ์ด์ ๋ฒ์ ์mongo
์ ธ์์์ ๋ง์ฐฌ๊ฐ์ง๋ก ๋น๋ฐ๋ฒํธ๋ฅผ ์ง์ ์ง์ ํ ์๋ ์์ต๋๋ค.
writeConcern
๋ฌธ์
์ ํ ์ฌํญ์ ๋๋ค. ์์ ์ ๋ํ ์ฐ๊ธฐ ๊ณ ๋ ค ์์ค์ ๋๋ค. ์ฐ๊ธฐ ๊ณ ๋ ค ์ฌ์์ ์ฐธ์กฐํ์ธ์.
ํธํ์ฑ
์ด ๋ฉ์๋๋ ๋ค์ ํ๊ฒฝ์์ ํธ์คํ ๋๋ ๋ฐฐํฌ์์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
์ค์
์ด ๋ช ๋ น์ MongoDB Atlas ํด๋ฌ์คํฐ์์ ์ง์๋์ง ์์ต๋๋ค. ๋ชจ๋ ๋ช ๋ น์ ๋ํ Atlas ์ง์ ์ ๋ํ ์์ธํ ๋ด์ฉ์ ์ง์๋์ง ์๋ ๋ช ๋ น์ ์ฐธ์กฐํ์ธ์.
MongoDB Enterprise: MongoDB์ ๊ตฌ๋ ๊ธฐ๋ฐ ์์ฒด ๊ด๋ฆฌ ๋ฒ์
MongoDB Community: MongoDB์ ์์ค ์ฌ์ฉ ๊ฐ๋ฅ ๋ฌด๋ฃ ์์ฒด ๊ด๋ฆฌ ๋ฒ์
ํ์ํ ์ก์ธ์ค ๊ถํ
๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ๋ค๋ฅธ ์ฌ์ฉ์์ ๋น๋ฐ๋ฒํธ๋ฅผ ์์ ํ๋ ค๋ฉด ํด๋น ๋ฐ์ดํฐ๋ฒ ์ด์ค์ changePassword
์กฐ์น๊ฐ ์์ด์ผ ํฉ๋๋ค.
ํ๋
๊ฒฝ๊ณ
๊ธฐ๋ณธ์ ์ผ๋ก db.changeUserPassword()
๋ passwordPrompt()
๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ์๋ ์ง์ ๋ ๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ ์ผ๋ฐ ํ
์คํธ๋ก MongoDB ์ธ์คํด์ค์ ์ ์กํฉ๋๋ค. db.changeUserPassword()
์์ ๋ณด๋ธ ์ํธ๋ฅผ ํฌํจํ์ฌ ํด๋ผ์ด์ธํธ์ ์๋ฒ ๊ฐ์ ํต์ ์ ๋ณดํธํ๋ ค๋ฉด TLS ์ ์ก ์ํธํ๋ฅผ ์ฌ์ฉํฉ๋๋ค. TLS ์ ์ก ์ํธํ๋ฅผ ํ์ฑํํ๋ ๋ฐฉ๋ฒ์ ๋ํ ์ง์นจ์ TLS/SSL์ ์ํ mongod
๋ฐ mongos
๊ตฌ์ฑ์ ์ฐธ์กฐํ์ธ์.
MongoDB๋ ๋น๋ฐ๋ฒํธ๋ฅผ ์ผ๋ฐ ํ ์คํธ๋ก ์ ์ฅํ์ง ์์ต๋๋ค. ๋น๋ฐ๋ฒํธ๋ ํด๋ผ์ด์ธํธ์ ์๋ฒ ๊ฐ์ ์ ์ก ์ ๊ทธ๋ฆฌ๊ณ TLS ์ ์ก ์ํธํ๊ฐ ํ์ฑํ๋์ง ์์ ๊ฒฝ์ฐ์๋ง ์ทจ์ฝํฉ๋๋ค.
์์
๋ค์ ์์
์ products
๋ฐ์ดํฐ๋ฒ ์ด์ค์์ accountUser
๋ผ๋ ์ฌ์ฉ์์ ๋น๋ฐ๋ฒํธ๋ฅผ SOh3TbYhx8ypJPxmt1oOfL
๋ก ๋ณ๊ฒฝํฉ๋๋ค.
ํ
๋ฉ์๋/๋ช
๋ น ํธ์ถ์์ ์ํธ๋ฅผ ์ง์ ์ง์ ํ๋ ๋์ passwordPrompt()
๋ฉ์๋๋ฅผ ๋ค์ํ ์ฌ์ฉ์ ์ธ์ฆ/๊ด๋ฆฌ ๋ฉ์๋/๋ช
๋ น๊ณผ ํจ๊ป ์ฌ์ฉํ์ฌ ์ํธ๋ฅผ ๋ฌป๋ ๋ฉ์์ง๋ฅผ ํ์ํ ์ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ์ด์ ๋ฒ์ ์ mongo
์
ธ์์์ ๋ง์ฐฌ๊ฐ์ง๋ก ๋น๋ฐ๋ฒํธ๋ฅผ ์ง์ ์ง์ ํ ์๋ ์์ต๋๋ค.
use products db.changeUserPassword("accountUser", passwordPrompt())
mongosh
์ ๋น๋ฐ๋ฒํธ๋ฅผ ์
๋ ฅํ๋ผ๋ ๋ฉ์์ง๊ฐ ํ์๋๋ฉด ์ ๋น๋ฐ๋ฒํธ๋ฅผ ์
๋ ฅํฉ๋๋ค.
์ ๋น๋ฐ๋ฒํธ๋ฅผ db.changeUserPassword()
์ ์ง์ ์ ๋ฌํ ์๋ ์์ต๋๋ค.
use products db.changeUserPassword("accountUser", "SOh3TbYhx8ypJPxmt1oOfL")