Docs Menu

์ƒค๋”ฉ๋œ ํด๋Ÿฌ์Šคํ„ฐ์˜ ์ฒญํฌ ๋ถ„ํ• 

๊ธฐ๋ณธ์ ์œผ๋กœ MongoDB๋Š” ์ฒญํฌ์— ์†ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ํ•  ๋•Œ๋งŒ ์ž ์žฌ์ ์œผ๋กœ ์ฒญํฌ๋ฅผ ๋ถ„ํ• ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๊ธฐ์กด ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํด๋Ÿฌ์Šคํ„ฐ๋ฅผ ๋ฐฐํฌํ•œ ํ›„์ฒ˜๋Ÿผ ํด๋Ÿฌ์Šคํ„ฐ์˜ ๋ฐ์ดํ„ฐ ์–‘์ด ๋งŽ๊ณ  ์ฒญํฌ๊ฐ€ ๋งค์šฐ ์ ์€ ๊ฒฝ์šฐ์—๋Š” ์ฒญํฌ๋ฅผ ์ˆ˜๋™์œผ๋กœ ๋ถ„ํ• ํ•ด์•ผ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ฒญํฌ๋ฅผ ์ˆ˜๋™์œผ๋กœ ๋ถ„ํ• ํ•˜๋ ค๋ฉด middle ๋˜๋Š” find ํ•„๋“œ์™€ ํ•จ๊ป˜ split ๋ช…๋ น์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. mongosh๋Š” sh.splitFind() ๋ฐ sh.splitAt() ๋„์šฐ๋ฏธ ๋ฉ”์„œ๋“œ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

splitFind()๋Š” ์ด ์ฟผ๋ฆฌ์™€ ์ผ์น˜ํ•˜๋Š” ์ฒซ ๋ฒˆ์งธ ๋ฐ˜ํ™˜ ๋ฌธ์„œ๊ฐ€ ํฌํ•จ๋œ ์ฒญํฌ๋ฅผ ๋™์ผํ•œ ํฌ๊ธฐ์˜ ์ฒญํฌ ๋‘ ๊ฐœ๋กœ ๋ถ„ํ• ํ•ฉ๋‹ˆ๋‹ค. ์ƒค๋“œ ์ปฌ๋ ‰์…˜์˜ ์ „์ฒด ๋„ค์ž„์ŠคํŽ˜์ด์Šค(์˜ˆ: '<database>.<collection>')๋ฅผ splitFind()๋กœ ์ง€์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. splitFind()์˜ ์ฟผ๋ฆฌ๋Š” ์ƒค๋“œ ํ‚ค๋ฅผ ์‚ฌ์šฉํ•  ํ•„์š”๊ฐ€ ์—†์ง€๋งŒ, ๋Œ€๋ถ€๋ถ„์˜ ๊ฒฝ์šฐ์— ์ƒค๋“œ ํ‚ค๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ํ•ฉ๋ฆฌ์ ์ž…๋‹ˆ๋‹ค.

์˜ˆ์‹œ

๋‹ค์Œ ๋ช…๋ น์€ records ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ people ์ปฌ๋ ‰์…˜์— ์žˆ๋Š” zipcode ํ•„๋“œ์— ๋Œ€ํ•œ 63109 ๊ฐ’์„ ํฌํ•จํ•˜๋Š” ์ฒญํฌ๋ฅผ ๋ถ„ํ• ํ•ฉ๋‹ˆ๋‹ค.

sh.splitFind( "records.people", { "zipcode": "63109" } )

splitAt()์„ ์‚ฌ์šฉํ•˜์—ฌ ์ฒญํฌ๋ฅผ ๋‘˜๋กœ ๋ถ„ํ• ํ•˜๊ณ , ์ฟผ๋ฆฌ๋œ ๋ฌธ์„œ๋ฅผ ์ƒˆ ์ฒญํฌ์˜ ํ•˜ํ•œ์œผ๋กœ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค:

์˜ˆ์‹œ

๋‹ค์Œ ๋ช…๋ น์€ records ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ people ์ปฌ๋ ‰์…˜์— ์žˆ๋Š” zipcode ํ•„๋“œ์— ๋Œ€ํ•œ 63109 ๊ฐ’์ด ํฌํ•จ๋œ ์ฒญํฌ๋ฅผ ๋ถ„ํ• ํ•ฉ๋‹ˆ๋‹ค.

sh.splitAt( "records.people", { "zipcode": "63109" } )

์ฐธ๊ณ 

splitAt()์€(๋Š”) ๋ฐ˜๋“œ์‹œ ์ฒญํฌ๋ฅผ ํฌ๊ธฐ๊ฐ€ ๊ฐ™์€ ๋‘ ๊ฐœ์˜ ์ฒญํฌ๋กœ ๋ถ„ํ• ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋ถ„ํ• ์€ ํ•ด๋‹น ๋ฌธ์„œ๊ฐ€ ์ฒญํฌ์˜ ์–ด๋””์— ์žˆ๋Š”์ง€์— ๊ด€๊ณ„์—†์ด ์ฟผ๋ฆฌ์™€ ์ผ์น˜ํ•˜๋Š” ๋ฌธ์„œ ์œ„์น˜์—์„œ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

ํŒ

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