๋ฌธ์ ํ โ ๋ณด๊ธฐ & ๋ฐ์ดํฐ ๋ถ์ โ MongoDB Shell
๋ฐฐํฌ์๋ฒ์ ์ฐ๊ฒฐํ๊ธฐ
์ด ํ์ด์ง์ ๋ด์ฉ
- ์ ์ ์กฐ๊ฑด
- ์ง์๋๋ MongoDB ๋ฒ์
- ์ค์น
mongosh
- MongoDB Atlas ๋ฐฐํฌ์๋ฒ์ ์ฐ๊ฒฐํ๊ธฐ
- Atlas ์ฐ๊ฒฐ ๋ฌธ์์ด ๋ฐ๊ธฐ
- ๋ฐ์ดํฐ๋ฒ ์ด์ค ์๊ฒฉ ์ฆ๋ช ์ค์
- ๋ค์์ ์ฌ์ฉํ์ฌ MongoDB Atlas์ ์ฐ๊ฒฐ
mongosh
- ๊ธฐ๋ณธ ํฌํธ์์ ๋ก์ปฌ ๋ฐฐํฌ์๋ฒ ์ฐ๊ฒฐ
- ๊ธฐ๋ณธ ํฌํธ๊ฐ ์ธ ํฌํธ์์ ๋ก์ปฌ ๋ฐฐํฌ์๋ฒ ์ฐ๊ฒฐ
- ์๊ฒฉ ํธ์คํธ๋ก ๋ฐฐํฌ์๋ฒ ์ฐ๊ฒฐ
- ์ฐ๊ฒฐ ์ต์ ์ง์
- ์ธ์ฆ์ผ๋ก ์ฐ๊ฒฐ
- OpenID Connect๋ก ์ฐ๊ฒฐ
- LDAP๋ก ์ฐ๊ฒฐ
- ๋ณต์ ๋ณธ ์ธํธ์ ์ฐ๊ฒฐ
- TLS๋ฅผ ์ฌ์ฉํ์ฌ ์ฐ๊ฒฐ
- ํน์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ฐ๊ฒฐ
- ๋ค๋ฅธ ๋ฐฐํฌ์๋ฒ์ ์ฐ๊ฒฐ
- ํ์ฌ ์ฐ๊ฒฐ ํ์ธ
- ๋ฐฐํฌ์๋ฒ์์ ์ฐ๊ฒฐ ํด์
- ์ ํ์ด ์๋ ๋ฐฐํฌ์๋ฒ
- ์ ํ ์ฌํญ
์ด ํ์ด์ง์์๋ MongoDB Shell์ ์ฌ์ฉํ์ฌ MongoDB deployment์ ์ฐ๊ฒฐํ๋ ๋ฐฉ๋ฒ์ ์ค๋ช ํฉ๋๋ค. MongoDB Atlas ํด๋ผ์ฐ๋ ํธ์คํ ๋ฐฐํฌ ์๋ฒ์ ์ฐ๊ฒฐํ๊ฑฐ๋, ๋ก์ปฌ ๋ฐฐํฌ์๋ฒ์ ์ฐ๊ฒฐํ๊ฑฐ๋, MongoDB Shell์ ์ฌ์ฉํ์ฌ ๋ค๋ฅธ ์๊ฒฉ ํธ์คํธ์ ์ฐ๊ฒฐํ ์ ์์ต๋๋ค.
์ ์ ์กฐ๊ฑด
MongoDB Shell์ ์ฌ์ฉํ๋ ค๋ฉด ์ฐ๊ฒฐํ MongoDB deployment๊ฐ ์์ด์ผ ํฉ๋๋ค.
๋ฌด๋ฃ ํด๋ผ์ฐ๋ ํธ์คํ ๋ฐฐํฌ์๋ฒ์ ๊ฒฝ์ฐ MongoDB Atlas๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
๋ก์ปฌ MongoDB ๋ฐฐํฌ๋ฅผ ์คํํ๋ ๋ฐฉ๋ฒ์ ์์๋ณด๋ ค๋ฉด MongoDB ์ค์น๋ฅผ ์ฐธ์กฐ ํ์ธ์.
์ง์๋๋ MongoDB ๋ฒ์
MongoDB Shell์ ์ฌ์ฉํ์ฌ 4.2 ์ด์ ๋ฒ์ ์ MongoDB์ ์ฐ๊ฒฐํ ์ ์์ต๋๋ค.
์ค์น mongosh
์ด ์ ์ฐจ๋ mongosh
๊ฐ ์ด๋ฏธ ์ค์น๋์ด ์๋ค๊ณ ๊ฐ์ ํฉ๋๋ค. mongosh
์ค์น์ ๊ดํ ์์ธํ ์ ๋ณด๋ mongosh
์ค์น์์ ํ์ธ ๊ฐ๋ฅํฉ๋๋ค.
MongoDB Atlas ๋ฐฐํฌ์๋ฒ์ ์ฐ๊ฒฐํ๊ธฐ
์ ธ์์ MongoDB Atlas ๋ฐฐํฌ์๋ฒ์ ์ง์ ์ฐ๊ฒฐํ ์ ์์ต๋๋ค.
Atlas ์ฐ๊ฒฐ ๋ฌธ์์ด ๋ฐ๊ธฐ
MongoDB ์ ธ์์ ์ฐ๊ฒฐํ๋ ค๋ฉด Atlas ์ฐ๊ฒฐ ๋ฌธ์์ด์ด ํ์ํฉ๋๋ค. Atlas UI์์ Atlas ์ฐ๊ฒฐ ๋ฌธ์์ด์ ๊ฐ์ ธ์ฌ ์ ์์ต๋๋ค.
์์ธํ ๋ด์ฉ์ MongoDB Atlas ์ฐ๊ฒฐ ๋ฌธ์์ด ์ฐพ๊ธฐ ๊ฐ์ด๋๋ฅผ ์ฐธ์กฐํ์ธ์.
๋ฐ์ดํฐ๋ฒ ์ด์ค ์๊ฒฉ ์ฆ๋ช ์ค์
๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฌ์ฉ์๋ฅผ ์์ง ์์ฑ ํ์ง ์์ ๊ฒฝ์ฐ ์ฌ์ฉ์ ์ด๋ฆ๊ณผ ๋น๋ฐ๋ฒํธ๋ฅผ ์ค์ ํด์ผ ํฉ๋๋ค. Atlas์ ์ฐ๊ฒฐํ๋ ค๋ฉด ์ฐ๊ฒฐ ๋ฌธ์์ด๊ณผ ํจ๊ป ์ฌ์ฉ์ ์ด๋ฆ์ ์ ๋ฌํฉ๋๋ค. Atlas์ ์ฐ๊ฒฐํ ์ฐ๊ฒฐ ๋ฌธ์์ด์ ๋๋ค. ์ฐ๊ฒฐ ๋ช ๋ น์ ์คํํ๋ฉด ์ ธ์์ ๋น๋ฐ๋ฒํธ๋ฅผ ์ ๋ ฅํ๋ผ๋ ๋ฉ์์ง๋ฅผ ํ์ํฉ๋๋ค.
๋ค์์ ์ฌ์ฉํ์ฌ MongoDB Atlas์ ์ฐ๊ฒฐ mongosh
์ฐ๊ฒฐ์ ์ค์ ํ๋ ค๋ฉด ์ฐ๊ฒฐ ๋ฌธ์์ด ๋ฐ ์ฐ๊ฒฐ ์ค์ ์ต์
์ ํฌํจํ์ฌ mongosh
๋ช
๋ น์ ์คํํฉ๋๋ค.
์ฐ๊ฒฐ ๋ฌธ์์ด์๋ ๋ค์ ์์๊ฐ ํฌํจ๋ฉ๋๋ค.
ํด๋ฌ์คํฐ ์ด๋ฆ
ํด์
API ๋ฒ์ ์ ๋ํ ํ๋๊ทธ
์ฐ๊ฒฐ์ ์ฌ์ฉํ ์ฌ์ฉ์ ์ด๋ฆ์ ๋ํ ํ๋๊ทธ
๋ค์ ๋ฌธ์์ด๊ณผ ์ ์ฌํฉ๋๋ค.
mongosh "mongodb+srv://YOUR_CLUSTER_NAME.YOUR_HASH.mongodb.net/" --apiVersion YOUR_API_VERSION --username YOUR_USERNAME
์ฐธ๊ณ
์์ธํ ์์๋ณด๊ธฐ
๋ค๋ฅธ ์ฐ๊ฒฐ ๋ณด์ ์ต์
์ ์ฌ์ฉํ์ฌ mongosh
์(๋ฅผ) ํตํด Atlas์ ์ฐ๊ฒฐํ ์ ์์ต๋๋ค. ํผ์ด๋ง ๋๋ ๋น๊ณต๊ฐ ์๋ํฌ์ธํธ ์ฐ๊ฒฐ์ ์ํด ๋น๊ณต๊ฐ IP๋ก ์ฐ๊ฒฐํ๋ ๋ฐฉ๋ฒ์ ๋ํ ์์ธํ ๋ด์ฉ์ mongosh๋ฅผ ํตํ Atlas ์ฐ๊ฒฐ ๋ฌธ์๋ฅผ ์ฐธ์กฐํ์ธ์.
๊ธฐ๋ณธ ํฌํธ์์ ๋ก์ปฌ ๋ฐฐํฌ์๋ฒ ์ฐ๊ฒฐ
๊ธฐ๋ณธ ํฌํธ 27017๋ก ๋ก์ปฌ ํธ์คํธ์์ ์คํ๋๋ MongoDB ๋ฐฐํฌ์๋ฒ์ ์ฐ๊ฒฐํ๋ ค๋ฉด ์ต์
์์ด mongosh
๋ฅผ ์คํํฉ๋๋ค.
mongosh
์ด๋ ๋ค์ ๋ช ๋ น๊ณผ ๋์ผํฉ๋๋ค.
mongosh "mongodb://localhost:27017"
๊ธฐ๋ณธ ํฌํธ๊ฐ ์ธ ํฌํธ์์ ๋ก์ปฌ ๋ฐฐํฌ์๋ฒ ์ฐ๊ฒฐ
๋ค์ ์ค ํ๋๋ฅผ ์ฌ์ฉํ์ฌ ๋ก์ปฌ ํธ์คํธ์์ ์ฐ๊ฒฐํ ํฌํธ๋ฅผ ์ง์ ํ ์ ์์ต๋๋ค.
์ ํํ ํฌํธ์ ์ฐ๊ฒฐ ๋ฌธ์์ด
--port
๋ช ๋ น์ค ์ต์
์๋ฅผ ๋ค์ด ๋ค์ ๋ช ๋ น์ ๋ค์์์ ์คํ๋๋ ๋ฐฐํฌ์ ์ฐ๊ฒฐํฉ๋๋ค. localhost ํฌํธ 28015:
mongosh "mongodb://localhost:28015"
mongosh --port 28015
์๊ฒฉ ํธ์คํธ๋ก ๋ฐฐํฌ์๋ฒ ์ฐ๊ฒฐ
๋ค์ ์ค ํ๋๋ฅผ ์ฌ์ฉํ์ฌ ์๊ฒฉ ํธ์คํธ์ ํฌํธ๋ฅผ ์ง์ ํ ์ ์์ต๋๋ค.
์ ํํ ํธ์คํธ ๋ฐ ํฌํธ๊ฐ ํฌํจ๋ ์ฐ๊ฒฐ ๋ฌธ์์ด ์ ๋๋ค.
๋ฐ
--host
๋ฐ--port
๋ช ๋ น์ค ์ต์ .--port
์ต์ ์ ์๋ตํ๋ฉดmongosh
๋ ๊ธฐ๋ณธ ํฌํธ 27017์ ์ฌ์ฉํฉ๋๋ค.
์๋ฅผ ๋ค์ด, ๋ค์ ๋ช
๋ น์ mongodb0.example.com
ํธ์คํธ ๋ฐ 28015 ํฌํธ์์ ์คํ ์ค์ธ MongoDB ๋ฐฐํฌ์๋ฒ์ ์ฐ๊ฒฐํฉ๋๋ค.
mongosh "mongodb://mongodb0.example.com:28015"
mongosh --host mongodb0.example.com --port 28015
์ฐธ๊ณ
MongoDB Atlas์ ์ฐ๊ฒฐ
์๊ฒฉ ํธ์คํธ๊ฐ Atlas cluster์ธ ๊ฒฝ์ฐ Atlas UI์์ ์ฐ๊ฒฐ ๋ฌธ์์ด์ ๋ณต์ฌํ ์ ์์ต๋๋ค. ์์ธํ ์์๋ณด๋ ค๋ฉด Atlas ์ค๋ช ์์์ ํด๋ฌ์คํฐ์ ์ฐ๊ฒฐ์ ์ฐธ์กฐํ์ธ์.
์ฐ๊ฒฐ ์ต์ ์ง์
๋ค์ํ ์ฐ๊ฒฐ ์ต์ ์ ์ง์ ํ์ฌ ๋ค์ํ ์ ํ์ ๋ฐฐํฌ์ ์ฐ๊ฒฐํ ์ ์์ต๋๋ค.
์ธ์ฆ์ผ๋ก ์ฐ๊ฒฐ
์ธ์ฆ์ด ํ์ํ MongoDB ๋ฐฐํฌ์๋ฒ์ ์ฐ๊ฒฐํ๋ ค๋ฉด --username
๋ฐ --authenticationDatabase
์ต์
์ ์ฌ์ฉํฉ๋๋ค. mongosh
๊ฐ ๋น๋ฐ๋ฒํธ๋ฅผ ์
๋ ฅํ๋ผ๋ ๋ฉ์์ง๋ฅผ ํ์ํ๋ฉฐ, ์
๋ ฅํ๋ ๋ฉ์์ง๋ ์จ๊ฒจ์ง๋๋ค.
์๋ฅผ ๋ค์ด admin
๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ์ฌ์ฉ์ alice
๋ก ์ธ์ฆํ๋ ค๋ฉด ๋ค์ ๋ช
๋ น์ ์คํํ์ธ์.
mongosh "mongodb://mongodb0.example.com:28015" --username alice --authenticationDatabase admin
ํ๋กฌํํธ๋ฅผ ์ฌ์ฉํ๋ ๋์ ์ฐ๊ฒฐ ๋ช
๋ น์ ์ผ๋ถ๋ก ๋น๋ฐ๋ฒํธ๋ฅผ ์ ๊ณตํ๋ ค๋ฉด --password
์ต์
์ ์ฌ์ฉํฉ๋๋ค. ๋๋ผ์ด๋ฒ์ ๊ฐ์ด mongosh
์ ํ๋ก๊ทธ๋๋ฐ ๋ฐฉ์์ผ๋ก ์ฌ์ฉํ๋ ค๋ฉด ์ด ์ต์
์ ์ฌ์ฉํฉ๋๋ค.
ํ
๋ค์๋ ์ฐธ์กฐํ์ธ์.
๋ฐฐํฌ์๋ฒ์์ ์ธ์ฆ์ ์ํํ๋ ค๋ฉด ์ก์ธ์ค ์ ์ด ํ์ฑํ๋ฅผ ์ฐธ์กฐํ์ธ์.
MongoDB ๋ฐฐํฌ์ ๋ํ ์ก์ธ์ค๋ฅผ ํ๋ก๋น์ ๋ํ๋ ค๋ฉด ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฌ์ฉ์๋ฅผ ์ฐธ์กฐํ์ธ์.
OpenID Connect๋ก ์ฐ๊ฒฐ
OpenID Connect ๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐฐํฌ์๋ฒ์ ์ฐ๊ฒฐํ๋ ค๋ฉด --authenticationMechanism
์ต์
์ ์ฌ์ฉํ๊ณ MONGODB-OIDC
๋ก ์ค์ ํฉ๋๋ค. mongosh
๋ ID ์ ๊ณต์์ ๋ก๊ทธ์ธ ์ ๋ณด๋ฅผ ์
๋ ฅํ ์ ์๋ ๋ธ๋ผ์ฐ์ ๋ก ๋ฆฌ๋๋ ์
ํฉ๋๋ค.
์๋ฅผ ๋ค์ด, ์๋ ๋ด์ฉ์ MONGODB-OIDC
๋ฅผ ์ฌ์ฉํ์ฌ ๋ก์ปฌ ๋ฐฐํฌ์๋ฒ์ ์ฐ๊ฒฐํฉ๋๋ค.
mongosh "mongodb://localhost/" --authenticationMechanism MONGODB-OIDC
LDAP๋ก ์ฐ๊ฒฐ
LDAP๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐฐํฌ์ ์ฐ๊ฒฐํ๋ ค๋ฉด ๋ค์์ ์ํํฉ๋๋ค.
--username
๋ฅผsecurity.ldap.authz.queryTemplate
๋๋ ๊ตฌ์ฑ๋security.ldap.userToDNMapping
ํ ํ๋ฆฟ์ ์ค์ํ๋ ์ฌ์ฉ์ ์ด๋ฆ์ผ๋ก ์ค์ ํฉ๋๋ค.--password
๋ฅผ ์ ์ ํ ๋น๋ฐ๋ฒํธ๋ก ์ค์ ํฉ๋๋ค. ๋ช ๋ น์ค ์ต์ ์ ๋น๋ฐ๋ฒํธ๋ฅผ ์ง์ ํ์ง ์์ผ๋ฉด--password
mongosh
์์ ๋น๋ฐ๋ฒํธ๋ฅผ ์ ๋ ฅํ๋ผ๋ ๋ฉ์์ง๋ฅผ ํ์ํฉ๋๋ค.--authenticationDatabase
๋ฅผ$external
๋ก ์ค์ ํฉ๋๋ค. ์ ธ์ด$external
์ ๋ณ์๋ก ํด์ํ๋ ์ํฉ์ ๋ฐฉ์งํ๋ ค๋ฉด$external
์ธ์๋ฅผ ํฐ๋ฐ์ดํ๊ฐ ์๋ ์์๋ฐ์ดํ๋ก ๋ฌถ์ด์ผ ํฉ๋๋ค.--authenticationMechanism
์PLAIN
๋ก ์ค์ ํฉ๋๋ค.
๊ฒฝ๊ณ
LDAP ์ธ์ฆ์ ์ผํ์ฉ ๋น๋ฐ๋ฒํธ๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ์ฐ๊ฒฐ ๋ฌธ์์ด์ ์ฐ๊ฒฐ ๋ฌธ์์ด ์ต์
maxPoolSize=1&srvMaxHosts=1
์ ์ถ๊ฐํ์ฌ ์ฐ๊ฒฐ ์คํจ ๊ฐ๋ฅ์ฑ์ ์ค์ด๋ ๊ฒ์ด ์ข์ต๋๋ค.
MongoDB ๋ฐฐํฌ์๋ฒ์ --host
์ --port
๋ฐ ๋ฐฐํฌ์๋ฒ์ ๊ด๋ จ๋ ๋ค๋ฅธ ์ต์
์ ํฌํจํฉ๋๋ค.
์๋ฅผ ๋ค์ด, ๋ค์ ์์ ์ LDAP ์ธ์ฆ ๋ฐ ๊ถํ ๋ถ์ฌ๋ฅผ ํตํด ์คํ ์ค์ธ MongoDB deployment๋ฅผ ์ธ์ฆํฉ๋๋ค.
mongosh --username alice@dba.example.com --password --authenticationDatabase '$external' --authenticationMechanism "PLAIN" --host "mongodb.example.com" --port 27017
๋ณต์ ๋ณธ ์ธํธ์ ์ฐ๊ฒฐ
์๋ ๋ฐฉ๋ฒ ์ค ํ ๊ฐ์ง๋ฅผ ์ฌ์ฉํ์ฌ ๋ณต์ ๋ณธ ์ธํธ์ ์ฐ๊ฒฐํ ์ ์์ต๋๋ค.
์ฐ๊ฒฐ ๋ฌธ์์ด์ ๋ณต์ ๋ณธ ์ธํธ ์ด๋ฆ๊ณผ ๊ตฌ์ฑ์์ ๋ช ์์ ์ผ๋ก ์ง์ ํฉ๋๋ค.
์ต์ 1: DNS ์๋ ๋ชฉ๋ก ํ์
DNS ์๋ ๋ชฉ๋ก ์ฐ๊ฒฐ ํ์์ ์ฌ์ฉํ๋ ค๋ฉด ์ฐ๊ฒฐ ๋ฌธ์์ด์ +srv
์์ ์๋ฅผ ํฌํจํฉ๋๋ค.
์๋ฅผ ๋ค์ด server.example.com
์์ ๋ณต์ ๋ณธ ์ธํธ์ ์ฐ๊ฒฐํ๋ ค๋ฉด ์๋ ๋ช
๋ น์ ์คํํฉ๋๋ค.
mongosh "mongodb+srv://server.example.com/"
์ฐธ๊ณ
+srv TLS ๋์
+srv
์ฐ๊ฒฐ ๋ฌธ์์ด ์์ ์๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ MongoDB๊ฐ --tls
์ฐ๊ฒฐ ์ต์
์ true
๋ก ์๋ ์ค์ ํฉ๋๋ค. ์ด ๋์์ ์ฌ์ ์ํ๋ ค๋ฉด --tls
๋ฅผ false
๋ก ์ค์ ํฉ๋๋ค.
์ต์ 2: ์ฐ๊ฒฐ ๋ฌธ์์ด์ ๋ ธ๋ ์ง์
์ฐ๊ฒฐ ๋ฌธ์์ด์์ ๊ฐ๋ณ ๋ณต์ ๋ณธ ์ธํธ ๋ฉค๋ฒ๋ฅผ ์ง์ ํ ์ ์์ต๋๋ค.
์๋ฅผ ๋ค์ด ์๋ ๋ช
๋ น์ ์คํํ์ฌ 3๊ฐ ๋
ธ๋๋ก ๊ตฌ์ฑ๋ replA
๋ผ๋ ๋ณต์ ๋ณธ ์ธํธ์ ์ฐ๊ฒฐํ ์ ์์ต๋๋ค.
mongosh "mongodb://mongodb0.example.com.local:27017,mongodb1.example.com.local:27017,mongodb2.example.com.local:27017/?replicaSet=replA"
์ฐธ๊ณ
directConnection ๋งค๊ฐ๋ณ์ ์๋ ์ถ๊ฐ
์ฐ๊ฒฐ ๋ฌธ์์ด์ ๊ฐ๋ณ ๋ณต์ ๋ณธ ์ธํธ ๋
ธ๋๋ฅผ ์ง์ ํ ๊ฒฝ์ฐ ์๋ ์ค ํ๋ ์ด์์ ํด๋นํ์ง ์๋ ํ mongosh
๊ฐ directConnection=true
๋ฅผ ์๋์ผ๋ก ์ถ๊ฐํฉ๋๋ค.
replicaSet
์ฟผ๋ฆฌ ๋งค๊ฐ ๋ณ์๊ฐ ์ฐ๊ฒฐ ๋ฌธ์์ด์ ์กด์ฌํฉ๋๋ค.์ฐ๊ฒฐ ๋ฌธ์์ด์ด
mongodb+srv://
ํ์์ ์ฌ์ฉํฉ๋๋ค.์ฐ๊ฒฐ ๋ฌธ์์ด์ ์ฌ๋ฌ ํธ์คํธ๊ฐ ํฌํจ๋ ์๋ ๋ชฉ๋ก์ด ํฌํจ๋์ด ์์ต๋๋ค.
์ฐ๊ฒฐ ๋ฌธ์์ด์ ์ด๋ฏธ
directConnection
๋งค๊ฐ ๋ณ์๊ฐ ํฌํจ๋์ด ์์ต๋๋ค.
directConnection=true
์ผ ๊ฒฝ์ฐ ๋ชจ๋ ์์
์ ์ฐ๊ฒฐ URI๊ฐ ์ง์ ํ ํธ์คํธ์์ ์คํ๋ฉ๋๋ค.
TLS๋ฅผ ์ฌ์ฉํ์ฌ ์ฐ๊ฒฐ
๋ค์ ์์ ์ค ํ๋๋ฅผ ์คํํ์ฌ TLS๋ฅผ ์ด์ฉํด ๋ฐฐํฌ์๋ฒ์ ์ฐ๊ฒฐํ ์ ์์ต๋๋ค.
DNS ์๋ ๋ชฉ๋ก ์ฐ๊ฒฐ ํ์ ์ ์ฌ์ฉํฉ๋๋ค.
+srv
์ฐ๊ฒฐ ๋ฌธ์์ด ์์ ์๋ ํด๋น ์ฐ๊ฒฐ์ ๋ํดtls
์ต์ ์true
์ผ)๋ก ์๋ ์ค์ ํฉ๋๋ค.์๋ฅผ ๋ค์ด
tls
๋ฅผ ํ์ฑํํ์ฌ DNS ์๋ ๋ชฉ๋ก์์ ์ ์ํ ๋ณต์ ๋ณธ ์ธํธ์ ์ฐ๊ฒฐํ๋ ค๋ฉด ๋ค์ ๋ช ๋ น์ ์คํํฉ๋๋ค.mongosh "mongodb+srv://server.example.com/" ์ฐ๊ฒฐ ๋ฌธ์์ด์์
--tls
์ต์ ์true
๋ก ์ค์ ํฉ๋๋ค.์๋ฅผ ๋ค์ด ์ฐ๊ฒฐ ๋ฌธ์์ด ์ต์ ์ผ๋ก
tls
๋ฅผ ํ์ฑํํ๋ ค๋ฉด ์๋ ๋ช ๋ น์ ์คํํฉ๋๋ค.mongosh "mongodb://mongodb0.example.com:28015/?tls=true" --tls
๋ช ๋ น์ค ์ต์ ์ ์ง์ ํฉ๋๋ค.์๋ฅผ ๋ค์ด
tls
๊ฐ ํ์ฑํ๋ ์ํ๋ก ์๊ฒฉ ํธ์คํธ์ ์ฐ๊ฒฐํ๋ ค๋ฉด ์๋ ๋ช ๋ น์ ์คํํฉ๋๋ค.mongosh "mongodb://mongodb0.example.com:28015" --tls
ํน์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ฐ๊ฒฐ
ํน์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ฐ๊ฒฐํ๋ ค๋ฉด ์ฐ๊ฒฐ ๋ฌธ์์ด URI ๊ฒฝ๋ก ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ง์ ํฉ๋๋ค. URI ๊ฒฝ๋ก์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ง์ ํ์ง ์์ผ๋ฉด test
๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ฐ๊ฒฐ๋ฉ๋๋ค.
์๋ฅผ ๋ค์ด ๋ก์ปฌ ํธ์คํธ์์ qa
๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ฐ๊ฒฐํ๋ ค๋ฉด ์๋ ๋ช
๋ น์ ์คํํฉ๋๋ค.
mongosh "mongodb://localhost:27017/qa"
๋ค๋ฅธ ๋ฐฐํฌ์๋ฒ์ ์ฐ๊ฒฐ
MongoDB Shell์์ ์ด๋ฏธ ๋ฐฐํฌ์๋ฒ์ ์ฐ๊ฒฐ๋์ด ์๋ ๊ฒฝ์ฐ, Mongo()
๋๋ connect() ๋ฉ์๋๋ฅผ ์ฌ์ฉํ์ฌ MongoDB Shell ๋ด์์ ๋ค๋ฅธ ๋ฐฐํฌ์๋ฒ์ ์ฐ๊ฒฐํ ์ ์์ต๋๋ค.
์ด๋ฌํ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ์ฌ ๋ค๋ฅธ ๋ฐฐํฌ์ ์ฐ๊ฒฐํ๋ ๋ฐฉ๋ฒ์ ์์๋ณด๋ ค๋ฉด ์ ์ฐ๊ฒฐ ์ด๊ธฐ๋ฅผ ์ฐธ์กฐํ์ธ์.
ํ์ฌ ์ฐ๊ฒฐ ํ์ธ
ํ์ฌ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฐ๊ฒฐ์ ํ์ธํ๋ ค๋ฉด db.getMongo()
๋ฉ์๋๋ฅผ ์ฌ์ฉํฉ๋๋ค.
์ด ๋ฉ์๋๋ ํ์ฌ ์ฐ๊ฒฐ์ ๋ํ ์ฐ๊ฒฐ ๋ฌธ์์ด URI ๋ฅผ ๋ฐํํฉ๋๋ค.
๋ฐฐํฌ์๋ฒ์์ ์ฐ๊ฒฐ ํด์
๋ฐฐํฌ์๋ฒ์ ์ฐ๊ฒฐ์ ํด์ ํ๊ณ mongosh
๋ฅผ ์ข
๋ฃํ๋ ค๋ฉด ์๋ ์กฐ์น ์ค ํ๋๋ฅผ ์ํํฉ๋๋ค:
.exit
์ด๋exit
,exit()
๋ฅผ ์ ๋ ฅํฉ๋๋ค.quit
๋๋quit()
๋ฅผ ์ ๋ ฅํฉ๋๋ค.Ctrl
+D
๋ฅผ ๋๋ฆ ๋๋ค.Ctrl
+C
๋ฅผ ๋ ๋ฒ ๋๋ฆ ๋๋ค.
์ ํ์ด ์๋ ๋ฐฐํฌ์๋ฒ
์ ํ์ด ์๋ MongoDB ์ธ์คํด์ค์ ์ฐ๊ฒฐํ๋ฉด ์ ธ์ ๊ฒฝ๊ณ ๋ฉ์์ง๊ฐ ํ์๋ฉ๋๋ค. ์ ํ์ด ์๋ ์ธ์คํด์ค๋ ๋๋ฝ๋๊ฑฐ๋, ์ผ๊ด๋์ง ์๊ฑฐ๋, ๋ถ์์ ํ ๊ธฐ๋ฅ์ผ๋ก ์ธํด ๊ณต์ MongoDB ์ธ์คํด์ค์ ๋ค๋ฅด๊ฒ ์๋ํ ์ ์์ต๋๋ค.
์ ํ ์ฌํญ
Kerberos ์ธ์ฆ ์ ์ฐ๊ฒฐ ๋ฌธ์์ด์
authMechanismProperties=CANONICALIZE_HOST_NAME:true|false
๋ฅผ ํ์ฉํ์ง ์์ต๋๋ค. ๋์ ๋ค์ ์ค ํ๋๋ฅผ ์ฌ์ฉํฉ๋๋ค.authMechanismProperties=CANONICALIZE_HOST_NAME:forward
authMechanismProperties=CANONICALIZE_HOST_NAME:forwardAndReverse
authMechanismProperties=CANONICALIZE_HOST_NAME:none
mongosh
ํ์ฌzlib
์์ถ๊ธฐ ๋ง ์ง์ํฉ๋๋ค. ๋ค์ ์์ถ๊ธฐ๋ ์ง์๋์ง ์์ต๋๋ค.zstd
snappy
mongosh
2.0.0๋ถํฐ ์์.์ฐ๊ฒฐ ๋ฌธ์์ด ์ ๋ถ์ธ ๊ฐ์ ๊ฒฝ์ฐ ๋ค์์ ์ํํฉ๋๋ค.
true
๋๋false
์ค ํ๋๋ฅผ ์ฌ์ฉํฉ๋๋ค.true
๋์1
,y
,yes
,t
๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.false
๋์-1
,0
,n
,no
,f
๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
mongosh
mongosh
ย โ