๋ฐ์ํ MongoDB3 Spring Data MongoDB Array field $elemMatch(MongoRepository Custom) ๐ MongoRepository Custom ๋ฐ $elemMatch ์ฌ์ฉํ๊ธฐ ์ต๊ทผ ์ฌ์ด๋ ํ๋ก์ ํธ๋ฅผ ์งํํ๋ฉด์ MongoDB๋ฅผ ์ฒ์์ผ๋ก ์ฌ์ฉํด๋ณด๊ณ ์์ต๋๋ค. ๊ฐ๋จํ ๋ก์ง์ Query Method๋ @Query ์ด๋ ธํ ์ด์ ์ผ๋ก ๊ฐ๋จํ ์ฟผ๋ฆฌ๋ฅผ ์์ฑํด์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ์์ผ๋, MongoDB์ ๊ฒฝ์ฐ ๋ฌธ๋ฒ์ ์ต์์น ์๋ค๋ณด๋ ์ง์ Repository๋ฅผ ์ปค์คํ ์ผ๋ก ์์ฑํด์ ๊ด๋ฆฌํ๋๊ฒ ๋ณด๋ค ํธ๋ฆฌํ ๋ฏ ํ์ฌ ์ปค์คํ ๋ ํฌ์งํ ๋ฆฌ๋ฅผ ๋ง๋๋ ๋ฐฉ๋ฒ์ ๋ํด ์๊ฐํ๊ณ ์ ํฉ๋๋ค. ์ถ๊ฐ์ ์ผ๋ก ์ฝ๊ฐ ์ฝ์ง์ํ๋ Query ๋ฐ Criteria, $elemMatch๋ฅผ ํตํด MongoDB์์ Array field๋ฅผ ๊ฒ์ํ๋ ๋ฐฉ๋ฒ์ ๋ํด์๋ ์ถ๊ฐ์ ์ผ๋ก ์ดํด๋ณด๊ฒ ์ต๋๋ค. ๋ฌผ๋ก QueryDSL์ ์ ์ฉํ๋ฉด ์ข ๋ ํธํ๊ฒ ์์ฑ์ด ๊ฐ๋ฅํ ๊ฒ ๊ฐ์ผ๋, ์ถํ ๋ณ๊ฒฝ.. 2022. 8. 20. MongoDB CRUD(์์ฑ, ์กฐํ, ์์ , ์ญ์ ) ์ฟผ๋ฆฌ๋ฌธ ๐ MongoDB CRUD(์์ฑ, ์กฐํ, ์์ , ์ญ์ ) ์ฟผ๋ฆฌ๋ฌธ ์๋ ํ์ธ์, ์ง๋ ์๊ฐ์๋ MongoDB ์ GUI Client์ธ compass์ ๋ํด ์ค์น๋ฅผ ํด๋ณด์๋๋ฐ์, ์ด๋ฒ์๋ MongoDB์์ ๊ฐ๋จํ CRUD ์์ ์ ์งํํด๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค. (๋ณธ ํฌ์คํ ์์๋ MongoDB์์์ ๋ชจ๋ CRUD ์ฐ์ฐ์ ๋ค๋ฃจ์ง๋ ์์ต๋๋ค. ์ถ๊ฐ์ ์ธ ์ฟผ๋ฆฌ๋ ๋ฌธ๋ฒ ๋ฑ์ด ๊ถ๊ธํ์๋ฉด ๊ณต์๋ฌธ์๋ฅผ ๋ฐฉ๋ฌธํด์ฃผ์ธ์ !) ๐ฏ MongoDB Create(Insert) ์ฟผ๋ฆฌ -- ํ๊ฐ์ document ์ฝ์ db.collection.insert({ document }) -- ๋ค์์ document ์ฝ์ db.collection.insertMany([ document ]) db.collection.insert() db.collection.in.. 2021. 7. 26. MongoDB, compass(MongoDB GUI Client) ์ค์นํ๊ธฐ(MacOS) ์๋ ํ์ธ์! ์ด๋ฒ ์๊ฐ์๋ MacOS์ ๋ชฝ๊ณ ๋๋น๋ฅผ ์ค์นํ๋ ๋ฐฉ๋ฒ์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค. ๋ชฝ๊ณ ๋๋น๋ฅผ ์ค์นํ๊ธฐ์ ์ ๋ชฝ๊ณ ๋๋น์ NoSQL์ ๋ํด ๊ฐ๋ตํ๊ฒ ์ดํด๋ณด๊ณ , ์ค์น๋ฅผ ํด๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค. โป ๋ชฝ๊ณ ๋๋น๋ ์ฒ์ ์ฌ์ฉํด๋ณด๊ธฐ ๋๋ฌธ์ ์๋ชป๋ ๋ด์ฉ์ด ์กด์ฌํ ์ ์์ต๋๋ค๐ญ NoSQL ์ด๋? Wiki์๋ ๋ค์๊ณผ ๊ฐ์ด ์ค๋ช ํ๊ณ ์์ต๋๋ค. ๋จ์ด ๋ป ์์ฒด๋ฅผ ๋ฐ์ง๋ฉด "Not only SQL"๋ก SQL๋ง์ ์ฌ์ฉํ์ง ์๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ ์์คํ ์ ์ง์นญํ๋ ๋จ์ด์ ๋๋ค. ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ฌ์ฉํ์ง ์๋๋ค๋ ์๋ฏธ๊ฐ ์๋, ์ฌ๋ฌ ์ ํ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ ๋๋ค. ๋ํ ๊ธฐ์กด์ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ํ๊ณ๋ฅผ ๊ทน๋ณตํ๊ธฐ ์ํ ๋ฐ์ดํฐ์ ์ ์ฅ์๋ก ๋ฌธ์, ๊ทธ๋ํ, key-value, ์ธ๋ฉ๋ชจ๋ฆฌ, ๊ฒ์ ๋ฑ์ ํฌํจํ ๋ค์ํ ๋ฐ์ดํฐ ๋ชจ๋ธ์ ์ฌ์ฉ.. 2021. 7. 21. ์ด์ 1 ๋ค์ ๋ฐ์ํ