2022. 5. 15. 19:48ใBack-End ์์ ์ค/DataBase
๐ Site ๊ด๋ จ
๐ฝ ํ์ ๊ฐ์
๐ฆ Cloud Service ์ด์ฉํ๊ธฐ
URL : https://www.mongodb.com/ko-kr/cloud
`MongoDB Cloud ์ง๊ธ ์ฒดํํ๊ธฐ`๋ฅผ ํด๋ฆญ ํด ์ฃผ์ธ์!
์ด์ ํ์๊ฐ์ ์ ์งํ ํฉ๋๋ค.
์ฃผ๋ํ๋์ Google๋ก ํ์๊ฐ์ ์ ์งํ ํ ๊ฒ์ด์์!
๐ฝ Project ๋ง๋ค๊ธฐ
๐ฆ DataBase ์์ฑ
`Projects` Tab์์ Project๋ฅผ ๋ง๋ค์ด ์ค ๊ฒ์ด์์.
`New Projects`๋ฅผ ๋๋ฌ์ฃผ์ธ์.
Project ์ด๋ฆ์ ์ ๋ ฅ ํด ์ฃผ์ธ์!
์ด ๊ณณ์์๋ ๋ฐ๋ก ๋ง์ง ๊ฒ ์์ด ๋ฐ๋ก `Create Project`๋ฅผ ๋๋ฌ ๋์ด๊ฐ๋ฉด ๋ฉ๋๋ค.
`Build a Database`๋ฅผ ๋๋ฌ DB๋ฅผ ์์ฑํ๋๋ก ํ ๊ฒ์ด์์.
์ฌ๊ธฐ์๋ ๊ณ ๋ฏผ ์์ด `Shared`๋ฅผ ๋๋ฌ์ผ ๊ฒ ์ด์!
์ด ๊ณณ์์๋ ๊ธฐ๋ณธ์ ์ธ ๊ฒ๋ค์ด ๋ค ์ ํ ๋์ด ์๊ธฐ ๋๋ฌธ์ ๋งจ ์๋์ `Create Cluster`๋ฅผ ๋๋ฌ์ฃผ๋ฉด ๋ฉ๋๋ค.
๐ฆ DataBase ๋ณด์ ์ค์
์ด ๊ณณ์์ `Username and Password`๋ฅผ ์ด์ฉํด์ ID์ ๋น๋ฐ๋ฒํธ๋ฅผ ์ ๋ ฅํด์ DB์ ์ ๊ทผํ ์ ์๋๋ก ์ค์ ํด ์ค ๊ฒ์ด์์.
์ฃผ๋ํ๋์ ์ด๋ ๊ฒ ์ ๋ ฅ์ ํด ์ฃผ์์ต๋๋ค.
์ด์ `Create User` ๋ฒํผ์ ๋๋ฌ ์ฃผ์ธ์!
๊ทธ๋ผ ์์ ๊ฐ์ด ๊ณ์ ์ด ํ๋ ์์ฑ๋ ๊ฒ์ ํ์ธํ ์ ์์ด์.
์ด๋์ ์ ๊ทผ์ ํ ๊ฒ์ด์ง ์ค์ ํด ์ฃผ๋ ๋ถ๋ถ์ด์์.
์๋ `Add My Current IP Address`๋ฅผ ํด๋ฆญํด ์ฃผ์ธ์!
๊ทธ๋ผ ์ฐ๋ฆฌ๊ฐ ์ฌ์ฉํ๋ ์ปดํจํฐ์ IP๊ฐ ๋ฑ๋ก์ด ๋ ํ ๋ฐ, ๋ณด์ ๋ฌธ์ ๊ฐ ์๊ธฐ ๋๋ฌธ์ ๋ฐ๋ก ์บก์ณํ์ง ์๊ฒ ์ต๋๋ค.
์ฌ๊ธฐ์ ๋ฑ๋ก๋๋ IP์ ํด๋นํ๋ ์ฃผ์๋ง ์ ๊ทผ์ด ๊ฐ๋ฅํ๊ธฐ ๋๋ฌธ์ ๋ง์ฝ ๋ค๋ฅธ ์ฅ์์์ ์ด์ฉํ ๊ฒฝ์ฐ ๊ฑฐ๊ธฐ์ ๋ํด์ IP๋ฅผ ๋ ์ถ๊ฐํด ์ค์ผ ํ๋ ๋ฒ๊ฑฐ๋ก์์ด ๋ฐ์ํ๋ ๊ฒ์ด์์.
๊ทธ๋์ ์ดํ์ `Network Access` Tab์์ White List ๋ฐฉ์์ผ๋ก ์ถ๊ฐ๋ฅผ ํ๋ฒ ํด ๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค.
์ฌ๊ธฐ๊น์ง ์๋ฃ ๋์๋ค๋ฉด ๋งจ ์๋์ `Finish And Close`๋ฅผ ๋๋ฌ์ฃผ๋ฉด ๋๋ ๊ฒ์ด์์.
`Go to Databases`๋ฅผ ๋๋ฌ์ฃผ์ธ์!
๊ทธ๋ผ ์ด๋ ๊ฒ ์ฐ๋ฆฌ๊ฐ ๋ง๋ DataBase๊ฐ ํ์ธ๋ ๊ฒ์ด์์.
๐ฆ DataBase Access ํ์ธ
์ผ์ชฝ์ `Database Access` Tab์ ๋๋ฌ DB ์ ๊ทผ์ ํ์ธ ํด ๋ณด๋๋ก ํ ๊ฒ์ด์์.
๊ทธ๋ผ ์์ ๊ฐ์ด ์ฐ๋ฆฌ๊ฐ DB๋ฅผ ๋ง๋ค ๋ ์ ๋ ฅํ์๋ ์ด์ฉ์ ์ ๋ณด๊ฐ ๋์ค๋ ๊ฒ์ ํ์ธํ ์ ์๋ ๊ฒ์ด์์.
๐ฆ DataBase Access ์ค์
์ด๋ฒ์๋ `Network Access` Tab์ ๋๋ฌ์ฃผ์ธ์!
๊ทธ๋ฌ๋ฉด DB ์์ฑ ์ ์ถ๊ฐ ํ๋ IP์ ๋ณด๊ฐ ๋ณด์ด๊ฒ ๋ ๊ฒ์ด์์.
`ADD IP ADDRESS`๋ฅผ ํตํด ํ์ฌ ์์ ์ค์ธ ์ปดํจํฐ ์ธ์ IP๋ฅผ ๊ฐ์ง ๊ณณ์์๋ ์์ ์ด ๊ฐ๋ฅํ๋๋ก ์ถ๊ฐ ํด ๋ณด๋๋ก ํ ๊ฒ์ด์์.
์ด ๊ณณ์์ `ALLOW ACCESS FROM ANYWHERE`๋ฅผ ๋๋ฌ์ฃผ๋ฉด ์ด๋ IP๋ก ์ ๊ทผ์ ํ๋์ง ํ์ฉ์ ํด ์ฃผ๋๋ก ํด ์ฃผ๋ ๊ฒ์ด์์.
์ด๋ ๊ฒ ๋ชจ๋ IP๊ฐ ํ์ฉ๋๋๋ก ์ ๋ ฅ์ด ๋ ๊ฒ์ ํ์ธํ ์ ์์ต๋๋ค.
์ด์ `Confirm`์ ๋๋ฌ์ฃผ๋ฉด ์ค์ ์ ์๋ฃ ๋ ๊ฒ์ด์์.
๐ฝ NODEJS์ MongoDB ์ฐ๊ฒฐํ๊ธฐ
๐ฆ DevInquryReplyVO.java
์ต์ด `Connect` ๋ฒํผ์ ๋๋ฌ์ฃผ์ธ์!
๊ทธ๋ผ ์ฃผ๋ํ๋์ด ์์์ ๋ง๋ DB์ Cloud ์ธ์คํด์ค ์ ๋ณด๋ฅผ API์ ์ฐ๊ฒฐํ ์ ์๋๋ก ๋์์ฃผ๋ ์ฐฝ์ด ๋์ค๋ ๊ฒ์ด์์.
์ฌ๊ธฐ์ ์ค๊ฐ์ `Connect your application`์ ๋๋ฌ์ฃผ๋ฉด ๋ฉ๋๋ค.
๊ทธ๋ผ ์์ ๊ฐ์ด mogodb+srv:// ์ด์ฉ๊ณ ์ ์ฉ๊ณ Text๊ฐ ๋ณด์ด๊ฒ ๋๋ ๊ฒ์ด์์.
์ด ๋ด์ฉ์ API์ DB ์ฐ๊ฒฐ ์ ๋ณด๋ฅผ ์ ๋ ฅํ๋ ๊ณณ์ ์ ๋ ฅ์ ํด ์ฃผ๋ฉด ๋๋ ๊ฒ์ด์์.
์ด ๋ด์ฉ์ ๋ณต์ฌ๋ฅผ ํ ๋ค ํด๋น ์ ๋ณด๊ฐ ๋ค์ด๊ฐ๋ ๊ณณ์ ๋ถํ๋ฃ๊ธฐ ํด ์ฃผ๋ฉด ๋ฉ๋๋ค.
์ฃผ๋ํ๋์ ํ์ฌ Node.js๋ก ์ด๋ค์ง API๋ฅผ ๋ง์ง๊ณ ์๊ธฐ ๋๋ฌธ์ `app.js`์ ์์ ๊ฐ์ด ๋ด์ฉ์ ๋ฃ์ด์ค ๊ฒ์ด์์.
์์ `<password>` ๋ถ๋ถ์ ์ฐ๋ฆฌ๊ฐ DB๋ฅผ ๋ง๋ค ๋ ์ค์ ํ๋ ๊ณ์ ์ ์ํธ๋ฅผ ์ ๋ ฅํด ์ฃผ๋ฉด ๋๋ต๋๋ค.