๋ฌธ์„œ ๋ฉ”๋‰ด
๋ฌธ์„œ ํ™ˆ
/
MongoDB Compass
/

์ƒ‰์ธ ๊ด€๋ฆฌ

์ด ํŽ˜์ด์ง€์˜ ๋‚ด์šฉ

  • ์ธ๋ฑ์Šค ํƒญ
  • ์ธ๋ฑ์Šค ๋งŒ๋“ค๊ธฐ
  • ์ธ๋ฑ์Šค ์ˆจ๊ธฐ๊ธฐ ๋˜๋Š” ์ˆจ๊ธฐ๊ธฐ ํ•ด์ œ
  • ์ƒ‰์ธ ์‚ญ์ œ
  • ์ œํ•œ ์‚ฌํ•ญ

์ธ๋ฑ์Šค๋Š” ์ฟผ๋ฆฌ ์„ฑ๋Šฅ์„ ํ–ฅ์ƒ์‹œํ‚ค๋Š” ํŠน์ˆ˜ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ์ž…๋‹ˆ๋‹ค.์ธ๋ฑ์Šค๋Š” ์ปฌ๋ ‰์…˜ ๋ฐ์ดํ„ฐ์˜ ์ผ๋ถ€๋ฅผ ํƒ์ƒ‰ํ•˜๊ธฐ ์‰ฌ์šด ํ˜•ํƒœ๋กœ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค. ์ธ๋ฑ์Šค๋Š” ํŠน์ • ํ•„๋“œ ๋˜๋Š” ํ•„๋“œ ์ง‘ํ•ฉ์˜ ๊ฐ’์„ ํ•„๋“œ ๊ฐ’์— ๋”ฐ๋ผ ์ •๋ ฌํ•˜์—ฌ ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.

์ฟผ๋ฆฌ ์„ฑ๋Šฅ์„ ํ–ฅ์ƒ์‹œํ‚ค๋ ค๋ฉด ์ฟผ๋ฆฌ์— ์ž์ฃผ ๋‚˜ํƒ€๋‚˜๋Š” ํ•„๋“œ์™€ ํ•„๋“œ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์ •๋ ฌํ•˜๋Š” ๋ชจ๋“  ์ž‘์—…์— ๋Œ€ํ•ด ์ธ๋ฑ์Šค๋ฅผ ๋นŒ๋“œํ•ฉ๋‹ˆ๋‹ค.

  • ์ธ๋ฑ์Šค๋œ ํ•„๋“œ์— ๋Œ€ํ•œ ์ฟผ๋ฆฌ๋Š” ์ธ๋ฑ์Šค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ผ์น˜ํ•˜๋Š” ๋ฌธ์„œ๋ฅผ ์ฐพ๊ธฐ ์œ„ํ•ด ์Šค์บ”ํ•ด์•ผ ํ•˜๋Š” ๋ฌธ์„œ ์ˆ˜๋ฅผ ์ œํ•œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ์ธ๋ฑ์Šค๋œ ํ•„๋“œ์— ๋Œ€ํ•œ ์ •๋ ฌ ์ž‘์—…์€ ์ธ๋ฑ์Šค์— ์˜ํ•ด ๋ฏธ๋ฆฌ ์ •๋ ฌ๋œ ๋ฌธ์„œ๋ฅผ ๋ฐ˜ํ™˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ธ๋ฑ์Šค์— ๋Œ€ํ•ด ์ž์„ธํžˆ ์•Œ์•„๋ณด๋ ค๋ฉด ์ธ๋ฑ์Šค๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

์ฐธ๊ณ 

๊ณ ๋ ค ์‚ฌํ•ญ

์ธ๋ฑ์Šค๋Š” ์“ฐ๊ธฐ ์ž‘์—…์— ์ผ๋ถ€ ๋ถ€์ •์ ์ธ ์„ฑ๋Šฅ ์˜ํ–ฅ์„ ๋ฏธ์นฉ๋‹ˆ๋‹ค. ์“ฐ๊ธฐ ๋Œ€ ์ฝ๊ธฐ ๋น„์œจ์ด ๋†’์€ ์ปฌ๋ ‰์…˜์˜ ๊ฒฝ์šฐ ๊ฐ ์‚ฝ์ž…์€ ์ธ๋ฑ์Šค๋„ ์—…๋ฐ์ดํŠธํ•ด์•ผ ํ•˜๋ฏ€๋กœ ๋น„์šฉ์ด ๋งŽ์ด ๋“ญ๋‹ˆ๋‹ค. ์ธ๋ฑ์Šค์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๊ณ ๋ ค ์‚ฌํ•ญ ๋ชฉ๋ก์€ ์ธ๋ฑ์Šค ์šด์˜ ๊ณ ๋ ค ์‚ฌํ•ญ์„ ์ฐธ์กฐํ•˜์„ธ์š”.

Indexes ํƒญ์—๋Š” ์ปฌ๋ ‰์…˜์˜ ๊ธฐ์กด ์ธ๋ฑ์Šค๊ฐ€ ๋‚˜์—ด๋ฉ๋‹ˆ๋‹ค.

์ปฌ๋ ‰์…˜์˜ Indexes ํƒญ์— ์•ก์„ธ์Šคํ•˜๋ ค๋ฉด ์™ผ์ชฝ ์ฐฝ์—์„œ ์ปฌ๋ ‰์…˜์„ ํด๋ฆญํ•˜๊ณ  Indexes ํƒญ์„ ์„ ํƒํ•˜์„ธ์š”.

์ธ๋ฑ์Šค ๋ณด๊ธฐ
ํด๋ฆญํ•˜์—ฌ ํ™•๋Œ€

๊ฐ ์ธ๋ฑ์Šค์— ๋Œ€ํ•ด Compass๋Š” ๋‹ค์Œ ์ •๋ณด๋ฅผ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค:

์ด๋ฆ„ ๋ฐ ์ •์˜
์ธ๋ฑ์Šค ์ด๋ฆ„ ๋ฐ ํ‚ค.
์œ ํ˜•
์ผ๋ฐ˜, ํ…์ŠคํŠธ, ์ง€๋ฆฌ์  ๊ณต๊ฐ„ ๋˜๋Š” ํ•ด์‹œ ์ธ๋ฑ์Šค.
size
์ธ๋ฑ์Šค์˜ ํฌ๊ธฐ.
์‚ฌ์šฉ๋ฒ•
์ธ๋ฑ์Šค๊ฐ€ ์ƒ์„ฑ๋œ ์ดํ›„ ๋˜๋Š” ๋งˆ์ง€๋ง‰ ์„œ๋ฒ„ ์žฌ์‹œ์ž‘ ์ดํ›„ ์ธ๋ฑ์Šค๊ฐ€ ์กฐํšŒ์— ์‚ฌ์šฉ๋œ ํšŸ์ˆ˜์ž…๋‹ˆ๋‹ค.
์†์„ฑ
์ธ๋ฑ์Šค์˜ ๋ชจ๋“  ํŠน์ˆ˜ ์†์„ฑ(์˜ˆ: ๊ณ ์œ ์„ฑ, ๋ถ€๋ถ„)์ž…๋‹ˆ๋‹ค.
1

์ธ๋ฑ์Šค ํƒญ์—์„œ Create Index ๋ฒ„ํŠผ์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

2
  1. ์ธ๋ฑ์Šค ํ‚ค๋ฅผ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.

    • ๊ธฐ์กด ๋ฌธ์„œ ํ•„๋“œ๋ฅผ ์ธ๋ฑ์Šค ํ‚ค๋กœ ์ง€์ •ํ•˜๋ ค๋ฉด ๋“œ๋กญ๋‹ค์šด ๋ชฉ๋ก์—์„œ ํ•„๋“œ๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

    • ์–ด๋–ค ๋ฌธ์„œ์—๋„ ์กด์žฌํ•˜์ง€ ์•Š๋Š” ํ•„๋“œ๋ฅผ ์ธ๋ฑ์Šค ํ‚ค๋กœ ์ง€์ •ํ•˜๋ ค๋ฉด ์ž…๋ ฅ ์ƒ์ž์— ํ•„๋“œ ์ด๋ฆ„์„ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.

    • ๋ณตํ•ฉ ์ธ๋ฑ์Šค๋ฅผ ์ƒ์„ฑํ•˜๋ ค๋ฉด ์ธ๋ฑ์Šค ์œ ํ˜• ๋“œ๋กญ๋‹ค์šด ์˜†์— ์žˆ๋Š” ์•„์ด์ฝ˜์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

  2. ๊ฐ ํ•„๋“œ ์ด๋ฆ„ ์˜ค๋ฅธ์ชฝ์— ์žˆ๋Š” ๋“œ๋กญ๋‹ค์šด์„ ์‚ฌ์šฉํ•˜์—ฌ ์ธ๋ฑ์Šค ์œ ํ˜•์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์Œ ์œ ํ˜• ์ค‘ ํ•˜๋‚˜๋ฅผ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    • ์˜ค๋ฆ„์ฐจ์ˆœ

    • ๋‚ด๋ฆผ์ฐจ์ˆœ

    • 2dsphere

    • ํ…์ŠคํŠธ

ํŒ

๋‹ค์Œ๋„ ์ฐธ์กฐํ•˜์„ธ์š”.

์™€์ผ๋“œ์นด๋“œ ์ธ๋ฑ์Šค๋ฅผ ์ง€์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋ณด๋ ค๋ฉด ์™€์ผ๋“œ์นด๋“œ ์ธ๋ฑ์Šค ๋งŒ๋“ค๊ธฐ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

3

Compass๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ธ๋ฑ์Šค ์˜ต์…˜์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค:

์˜ต์…˜
์„ค๋ช…
์ž์„ธํ•œ ์ •๋ณด
๊ณ ์œ  ์ธ๋ฑ์Šค ๋งŒ๋“ค๊ธฐ
์ธ๋ฑ์‹ฑ๋œ ํ•„๋“œ์— ์ค‘๋ณต๋œ ๊ฐ’์ด ์ €์žฅ๋˜์–ด ์žˆ์ง€ ์•Š์€์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.
์ธ๋ฑ์Šค ์ด๋ฆ„
์ธ๋ฑ์Šค์˜ ์ด๋ฆ„์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.
TTL ์ธ๋ฑ์Šค ์ƒ์„ฑ
์ธ๋ฑ์‹ฑ๋œ ํ•„๋“œ ๊ฐ’ ์ดํ›„ ์ง€์ •๋œ ์‹œ๊ฐ„(์ดˆ)์ด ์ง€๋‚˜๋ฉด ๋ฌธ์„œ๋ฅผ ์ž๋™์œผ๋กœ ์‚ญ์ œํ•ฉ๋‹ˆ๋‹ค.
๋ถ€๋ถ„ ํ•„ํ„ฐ ํ‘œํ˜„์‹

์ง€์ •๋œ ํ•„ํ„ฐ ํ‘œํ˜„์‹๊ณผ ์ผ์น˜ํ•˜๋Š” ๋ฌธ์„œ๋งŒ ์ธ๋ฑ์‹ฑํ•ฉ๋‹ˆ๋‹ค.

์˜ˆ์ œ

๋‹ค์Œ ๋ถ€๋ถ„ ํ•„ํ„ฐ ํ‘œํ˜„์‹์€ timezone ํ•„๋“œ๊ฐ€ ์กด์žฌํ•˜๋Š” ๋ฌธ์„œ๋งŒ์„ ์ธ๋ฑ์‹ฑํ•ฉ๋‹ˆ๋‹ค.

{ "timezone": { "$exists": true } }
์™€์ผ๋“œ์นด๋“œ ํ”„๋กœ์ ์…˜(MongoDB 4.2์˜ ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ)

์ด ์ธ๋ฑ์Šค์— ์ง€์ •๋œ ํ”„๋กœ์ ์…˜๊ณผ ์ผ์น˜ํ•˜๋Š” ๋ฏธํ™•์ธ ํ•„๋“œ ๋˜๋Š” ์ž„์˜ ํ•„๋“œ๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ์™€์ผ๋“œ์นด๋“œ ํ”„๋กœ์ ์…˜์„ ์‚ฌ์šฉํ•˜๋ ค๋ฉด ์ธ๋ฑ์Šค ํ•„๋“œ ์ด๋ฆ„์„ $**(์œผ)๋กœ ์„ค์ •ํ•˜์„ธ์š”. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด Compass๊ฐ€ ๋ฌธ์„œ์˜ ๋ชจ๋“  ํ•„๋“œ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค(์˜ˆ์™ธ: _id).

์˜ˆ์ œ

๋‹ค์Œ ์™€์ผ๋“œ์นด๋“œ ํ”„๋กœ์ ์…˜ ๋ฌธ์„œ๋ฅผ ๊ณ ๋ คํ•˜์„ธ์š”:

{
"product_attributes.elements" : 1,
"product_attributes.resistance" : 1
}

์ธ๋ฑ์Šค ํ•„๋“œ ์ด๋ฆ„์ด $** ์ธ ๊ฒฝ์šฐ ์ธ๋ฑ์Šค์—๋Š” ํ•ด๋‹น ํ”„๋กœ์ ์…˜ ํ•„๋“œ์˜ ๊ฐ’๋งŒ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.

์‚ฌ์šฉ์ž ์ง€์ • ๋ฐ์ดํ„ฐ ์ •๋ ฌ ์‚ฌ์šฉ
ํ…์ŠคํŠธ ์ƒ์ž์— ๋ฐ์ดํ„ฐ ์ •๋ ฌ ๋ฌธ์„œ๋ฅผ ์ž…๋ ฅํ•˜๊ฑฐ๋‚˜ ๋ถ™์—ฌ ๋„ฃ์–ด ์ธ๋ฑ์Šค์— ๋Œ€ํ•œ ์‚ฌ์šฉ์ž ์ง€์ • ๋ฐ์ดํ„ฐ ์ •๋ ฌ์„ ๋งŒ๋“ญ๋‹ˆ๋‹ค.
4

Atlas Search ์ธ๋ฑ์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด Atlas Search์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฟผ๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ Atlas Search ์ธ๋ฑ์Šค ์ƒ์„ฑ ๋ฐ ๊ด€๋ฆฌ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

Atlas Vector Search ์ธ๋ฑ์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ฒกํ„ฐ ๋ฐ์ดํ„ฐ ๋ฐ ๊ธฐํƒ€ ๋ฐ์ดํ„ฐ ์œ ํ˜•์„ ์ธ๋ฑ์‹ฑํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ์ธ๋ฑ์‹ฑ๋œ ํ•„๋“œ์—์„œ ์‹œ๋งจํ‹ฑ ๊ฒ€์ƒ‰์ด ์šฉ์ดํ•ฉ๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ Atlas Vector Search ์ธ๋ฑ์Šค ์ƒ์„ฑ์„ ์ฐธ์กฐํ•˜์„ธ์š”.

๋ฒ„์ „ v4.2์— ์ถ”๊ฐ€.

์•Œ ์ˆ˜ ์—†๊ฑฐ๋‚˜ ์ž„์˜์˜ ํ•„๋“œ์— ๋Œ€ํ•œ ์ฟผ๋ฆฌ๋ฅผ ์ง€์›ํ•˜๊ธฐ ์œ„ํ•ด ์™€์ผ๋“œ์นด๋“œ ์ธ๋ฑ์Šค๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Compass์—์„œ ์™€์ผ๋“œ ์นด๋“œ ์ธ๋ฑ์Šค๋ฅผ ๋งŒ๋“ค๋ ค๋ฉด Select a field name ์ž…๋ ฅ์— ์™€์ผ๋“œ์นด๋“œ ์ธ๋ฑ์Šค ํ•„๋“œ(<field>.$**)๋ฅผ ์ˆ˜๋™์œผ๋กœ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.

์˜ˆ์ œ

๋ฌธ์„œ์— userMetadata ๊ฐ์ฒด๊ฐ€ ํฌํ•จ๋œ ์ปฌ๋ ‰์…˜์„ ๊ณ ๋ คํ•ด ๋ณด์„ธ์š”. userMetadata ๊ฐ์ฒด ๋‚ด์˜ ํ•„๋“œ๋Š” ๋ฌธ์„œ๋งˆ๋‹ค ๋‹ค๋ฅผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

userMetadata์— ์™€์ผ๋“œ์นด๋“œ ์ธ๋ฑ์Šค๋ฅผ ๋งŒ๋“ค์–ด ๊ฐœ์ฒด ๋‚ด์˜ ๋ชจ๋“  ์ž ์žฌ์  ํ•„๋“œ๋ฅผ ๊ณ ๋ คํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Select a field name ์ž…๋ ฅ๋ž€์— ๋‹ค์Œ์„ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.

userMetadata.$**

์™€์ผ๋“œ ์นด๋“œ ์ธ๋ฑ์Šค์˜ ์œ ํ˜•(ascending ๋˜๋Š” descending)์„ ์ง€์ •ํ•œ ๋‹ค์Œ Create Index๋ฅผ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค.

Compass์—์„œ ์ƒˆ ์ธ๋ฑ์Šค์˜ ์œ ํ˜•์„ Wildcard๋กœ ํ‘œ์‹œํ•ฉ๋‹ˆ๋‹ค.

์ฟผ๋ฆฌ ํ”Œ๋ž˜๋„ˆ์—์„œ ์ธ๋ฑ์Šค๋ฅผ ์ˆจ๊ฒจ ์‹ค์ œ๋กœ ์ธ๋ฑ์Šค๋ฅผ ์‚ญ์ œํ•˜์ง€ ์•Š๊ณ ๋„ ์ธ๋ฑ์Šค ์‚ญ์ œ์˜ ์ž ์žฌ์  ์˜ํ–ฅ์„ ํ‰๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

1

Indexes ํƒญ์—์„œ ์ˆจ๊ธฐ๋ ค๋Š” ์ธ๋ฑ์Šค ์œ„๋กœ ๋งˆ์šฐ์Šค๋ฅผ ๊ฐ€์ ธ๊ฐ‘๋‹ˆ๋‹ค.

2

์„ ํƒํ•œ ์ธ๋ฑ์Šค ์œ„๋กœ ๋งˆ์šฐ์Šค๋ฅผ ๊ฐ€์ ธ๊ฐ€๋ฉด ๋‚˜ํƒ€๋‚˜๋Š” ์˜ค๋ฅธ์ชฝ ๋ˆˆ ๊ฐ๊ธฐ ์•„์ด์ฝ˜์„ ํด๋ฆญํ•˜์„ธ์š”.

3

๋Œ€ํ™” ์ƒ์ž์—์„œ ์ˆจ๊ธฐ๋ ค๋Š” ์ธ๋ฑ์Šค๋ฅผ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ์„ ํƒ์„ ํ™•์ธํ•˜๋ฉด Properties ์—ด ์•„๋ž˜์— Hidden ๋ฐฐ์ง€๊ฐ€ ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค.

์ธ๋ฑ์Šค ์ˆจ๊ธฐ๊ธฐ๋ฅผ ํ•ด์ œํ•˜๋ ค๋ฉด 1~3๋‹จ๊ณ„๋ฅผ ๋ฐ˜๋ณตํ•ฉ๋‹ˆ๋‹ค. ์ธ๋ฑ์Šค ์ˆจ๊ธฐ๊ธฐ๋ฅผ ํ•ด์ œํ•˜๋ฉด Compass๊ฐ€ Properties ์—ด์—์„œ Hidden ๋ฐฐ์ง€๋ฅผ ์ œ๊ฑฐํ•ฉ๋‹ˆ๋‹ค.

1

์ธ๋ฑ์Šค ํƒญ์—์„œ ์ธ๋ฑ์Šค๋ฅผ ์‚ญ์ œํ•˜๋ ค๋ฉด ํ•ด๋‹น ์ธ๋ฑ์Šค์˜ ํœด์ง€ํ†ต ์•„์ด์ฝ˜์„ ํด๋ฆญํ•ฉ๋‹ˆ๋‹ค. ํ™•์ธ ๋Œ€ํ™” ์ƒ์ž๊ฐ€ ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค.

2

๋Œ€ํ™” ์ƒ์ž์—์„œ ์‚ญ์ œํ•  ์ธ๋ฑ์Šค์˜ ์ด๋ฆ„์„ ์ž…๋ ฅํ•ฉ๋‹ˆ๋‹ค.

3
โ†ย AI ๋ฐ ๋ฐ์ดํ„ฐ ์‚ฌ์šฉ๋Ÿ‰ ์ •๋ณด