{"id":1200,"date":"2024-07-17T12:08:42","date_gmt":"2024-07-17T03:08:42","guid":{"rendered":"https:\/\/absol.kr\/?p=1200"},"modified":"2024-07-17T12:32:12","modified_gmt":"2024-07-17T03:32:12","slug":"mongodb-%ec%84%a4%ec%b9%98-%ec%84%a4%ec%a0%95-%ea%b7%b8%eb%a6%ac%ea%b3%a0-%eb%b0%b1%ec%97%94%eb%93%9c-%ed%94%84%eb%a1%9c%ea%b7%b8%eb%9e%a8-%ec%97%b0%ea%b2%b0","status":"publish","type":"post","link":"https:\/\/absol.kr\/?p=1200","title":{"rendered":"MongoDB \uc124\uce58, \uc124\uc815 \uadf8\ub9ac\uace0 \ubc31\uc5d4\ub4dc \ud504\ub85c\uadf8\ub7a8 \uc5f0\uacb0"},"content":{"rendered":"\n<h3 class=\"wp-block-heading\">MongoDB \uc124\uce58 \ubc0f \uc124\uc815 \uac00\uc774\ub4dc<\/h3>\n\n\n\n<h4 class=\"wp-block-heading\">1. MongoDB \uc124\uce58<\/h4>\n\n\n\n<h5 class=\"wp-block-heading\">Windows<\/h5>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>MongoDB \uc124\uce58 \ud30c\uc77c \ub2e4\uc6b4\ub85c\ub4dc<\/strong>\n<ul class=\"wp-block-list\">\n<li>MongoDB \uacf5\uc2dd \uc6f9\uc0ac\uc774\ud2b8\uc5d0\uc11c \uc124\uce58 \ud30c\uc77c\uc744 \ub2e4\uc6b4\ub85c\ub4dc\ud569\ub2c8\ub2e4: <a href=\"https:\/\/www.mongodb.com\/try\/download\/community\">MongoDB \ub2e4\uc6b4\ub85c\ub4dc \uc13c\ud130<\/a><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\uc124\uce58 \ud30c\uc77c \uc2e4\ud589<\/strong>\n<ul class=\"wp-block-list\">\n<li>\ub2e4\uc6b4\ub85c\ub4dc\ud55c \uc124\uce58 \ud30c\uc77c\uc744 \uc2e4\ud589\ud558\uace0 \uc124\uce58 \uacfc\uc815\uc744 \ub530\ub985\ub2c8\ub2e4.<\/li>\n\n\n\n<li>\uc124\uce58 \uc2dc &#8220;Complete&#8221; \uc124\uce58 \uc635\uc158\uc744 \uc120\ud0dd\ud569\ub2c8\ub2e4.<\/li>\n\n\n\n<li>&#8220;Install MongoDB as a Service&#8221; \uc635\uc158\uc744 \uc120\ud0dd\ud558\uc5ec MongoDB\ub97c \uc11c\ube44\uc2a4\ub85c \uc2e4\ud589\ub418\ub3c4\ub85d \uc124\uc815\ud569\ub2c8\ub2e4.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\ud658\uacbd \ubcc0\uc218 \uc124\uc815<\/strong>\n<ul class=\"wp-block-list\">\n<li>MongoDB\uc758 <code>bin<\/code> \ub514\ub809\ud1a0\ub9ac\ub97c \uc2dc\uc2a4\ud15c \ud658\uacbd \ubcc0\uc218 <code>PATH<\/code>\uc5d0 \ucd94\uac00\ud569\ub2c8\ub2e4. (\uae30\ubcf8 \uc124\uce58 \uacbd\ub85c: <code>C:\\Program Files\\MongoDB\\Server\\X.X\\bin<\/code>)<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>MongoDB \uc11c\ube44\uc2a4 \uc2dc\uc791<\/strong>\n<ul class=\"wp-block-list\">\n<li>Windows \uc11c\ube44\uc2a4 \uad00\ub9ac \ub3c4\uad6c\uc5d0\uc11c MongoDB \uc11c\ube44\uc2a4\ub97c \uc2dc\uc791\ud569\ub2c8\ub2e4.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<h5 class=\"wp-block-heading\">macOS<\/h5>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Homebrew\ub85c MongoDB \uc124\uce58<\/strong>\n<ul class=\"wp-block-list\">\n<li>Homebrew\uac00 \uc124\uce58\ub418\uc5b4 \uc788\uc9c0 \uc54a\ub2e4\uba74 <a href=\"https:\/\/brew.sh\/\">Homebrew \uc6f9\uc0ac\uc774\ud2b8<\/a>\ub97c \ucc38\uc870\ud558\uc5ec \uc124\uce58\ud569\ub2c8\ub2e4.<\/li>\n\n\n\n<li>\ud130\ubbf8\ub110\uc744 \uc5f4\uace0 \ub2e4\uc74c \uba85\ub839\uc5b4\ub97c \uc785\ub825\ud558\uc5ec MongoDB\ub97c \uc124\uce58\ud569\ub2c8\ub2e4.bash\ucf54\ub4dc \ubcf5\uc0ac<code>brew tap mongodb\/brew brew install mongodb-community@6.0<\/code><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>MongoDB \uc11c\ube44\uc2a4 \uc2dc\uc791<\/strong>\n<ul class=\"wp-block-list\">\n<li>\ub2e4\uc74c \uba85\ub839\uc5b4\ub97c \uc785\ub825\ud558\uc5ec MongoDB \uc11c\ube44\uc2a4\ub97c \uc2dc\uc791\ud569\ub2c8\ub2e4.bash\ucf54\ub4dc \ubcf5\uc0ac<code>brew services start mongodb\/brew\/mongodb-community<\/code><\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<h5 class=\"wp-block-heading\">Linux (Ubuntu)<\/h5>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>MongoDB \ud328\ud0a4\uc9c0 \uad00\ub9ac\uc6a9 GPG \ud0a4 \ucd94\uac00<\/strong>bash\ucf54\ub4dc \ubcf5\uc0ac<code>wget -qO - https:\/\/www.mongodb.org\/static\/pgp\/server-6.0.asc | sudo apt-key add -<\/code><\/li>\n\n\n\n<li><strong>MongoDB \ub9ac\ud3ec\uc9c0\ud1a0\ub9ac \ucd94\uac00<\/strong>bash\ucf54\ub4dc \ubcf5\uc0ac<code>echo \"deb [ arch=amd64,arm64 ] https:\/\/repo.mongodb.org\/apt\/ubuntu focal\/mongodb-org\/6.0 multiverse\" | sudo tee \/etc\/apt\/sources.list.d\/mongodb-org-6.0.list<\/code><\/li>\n\n\n\n<li><strong>MongoDB \uc124\uce58<\/strong>bash\ucf54\ub4dc \ubcf5\uc0ac<code>sudo apt update sudo apt install -y mongodb-org<\/code><\/li>\n\n\n\n<li><strong>MongoDB \uc11c\ube44\uc2a4 \uc2dc\uc791<\/strong>bash\ucf54\ub4dc \ubcf5\uc0ac<code>sudo systemctl start mongod<\/code><\/li>\n<\/ol>\n\n\n\n<h4 class=\"wp-block-heading\">2. MongoDB \uc124\uc815<\/h4>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>MongoDB \uc124\uc815 \ud30c\uc77c \uc218\uc815 (\uc120\ud0dd \uc0ac\ud56d)<\/strong>\n<ul class=\"wp-block-list\">\n<li>\uae30\ubcf8 \uc124\uc815\uc73c\ub85c \ucda9\ubd84\ud558\uc9c0 \uc54a\uc740 \uacbd\uc6b0 \uc124\uc815 \ud30c\uc77c (<code>\/etc\/mongod.conf<\/code>)\uc744 \uc218\uc815\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/li>\n\n\n\n<li>\uc124\uc815 \ud30c\uc77c\uc758 \uae30\ubcf8 \uc704\uce58\ub294 \ub2e4\uc74c\uacfc \uac19\uc2b5\ub2c8\ub2e4.\n<ul class=\"wp-block-list\">\n<li>Windows: <code>C:\\Program Files\\MongoDB\\Server\\X.X\\bin\\mongod.cfg<\/code><\/li>\n\n\n\n<li>macOS: <code>\/usr\/local\/etc\/mongod.conf<\/code><\/li>\n\n\n\n<li>Linux: <code>\/etc\/mongod.conf<\/code><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>MongoDB \uc11c\ube44\uc2a4 \uc7ac\uc2dc\uc791<\/strong><ul><li>\uc124\uc815 \ud30c\uc77c\uc744 \uc218\uc815\ud55c \uacbd\uc6b0 MongoDB \uc11c\ube44\uc2a4\ub97c \uc7ac\uc2dc\uc791\ud569\ub2c8\ub2e4.<\/li><\/ul>bash\ucf54\ub4dc \ubcf5\uc0ac<code>sudo systemctl restart mongod<\/code><\/li>\n<\/ol>\n\n\n\n<h4 class=\"wp-block-heading\">3. MongoDB \uc5f0\uacb0<\/h4>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>MongoDB Compass \uc124\uce58 (\uc120\ud0dd \uc0ac\ud56d)<\/strong>\n<ul class=\"wp-block-list\">\n<li>GUI\ub85c MongoDB\ub97c \uad00\ub9ac\ud558\uae30 \uc704\ud574 MongoDB Compass\ub97c \uc124\uce58\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4: <a href=\"https:\/\/www.mongodb.com\/products\/compass\">MongoDB Compass \ub2e4\uc6b4\ub85c\ub4dc<\/a><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>MongoDB \uc5f0\uacb0 \ud14c\uc2a4\ud2b8<\/strong><ul><li>\ud130\ubbf8\ub110\uc5d0\uc11c \ub2e4\uc74c \uba85\ub839\uc5b4\ub97c \uc785\ub825\ud558\uc5ec MongoDB \uc178\uc5d0 \uc811\uc18d\ud560 \uc218 \uc788\ub294\uc9c0 \ud655\uc778\ud569\ub2c8\ub2e4.<\/li><\/ul>bash\ucf54\ub4dc \ubcf5\uc0ac<code>mongo<\/code><\/li>\n<\/ol>\n\n\n\n<h4 class=\"wp-block-heading\">4. Node.js \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uacfc MongoDB \uc5f0\uacb0<\/h4>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>MongoDB Node.js \ub4dc\ub77c\uc774\ubc84 \uc124\uce58<\/strong><ul><li>\ud504\ub85c\uc81d\ud2b8 \ub8e8\ud2b8 \ub514\ub809\ud1a0\ub9ac\uc5d0\uc11c \ub2e4\uc74c \uba85\ub839\uc5b4\ub97c \uc785\ub825\ud558\uc5ec MongoDB Node.js \ub4dc\ub77c\uc774\ubc84\ub97c \uc124\uce58\ud569\ub2c8\ub2e4.<\/li><\/ul><\/li>\n\n\n\n<li><ul><li><code style=\"font-size: 16px;\">npm install mongoose<\/code><\/li><\/ul><\/li>\n\n\n\n<li><strong>MongoDB \uc5f0\uacb0 \uc124\uc815 (backend\/app.js)<\/strong><ul><li><strong>backend\/app.js<\/strong> \ud30c\uc77c\uc5d0\uc11c MongoDB\uc5d0 \uc5f0\uacb0\ud558\ub294 \ucf54\ub4dc\ub97c \uc791\uc131\ud569\ub2c8\ub2e4.<\/li><\/ul>javascript\ucf54\ub4dc \ubcf5\uc0ac<code>const express = require('express'); const mongoose = require('mongoose'); const bodyParser = require('body-parser'); const cors = require('cors'); const app = express(); require('dotenv').config(); \/\/ Middleware app.use(bodyParser.json()); app.use(cors()); \/\/ MongoDB \uc5f0\uacb0 mongoose.connect(process.env.MONGO_URI, { useNewUrlParser: true, useUnifiedTopology: true, }).then(() =&gt; { console.log('MongoDB connected'); }).catch((err) =&gt; { console.error('MongoDB connection error:', err); }); \/\/ \ub77c\uc6b0\ud2b8 \uc124\uc815 const userRoutes = require('.\/routes\/userRoutes'); const bookRoutes = require('.\/routes\/bookRoutes'); const transactionRoutes = require('.\/routes\/transactionRoutes'); app.use('\/api\/users', userRoutes); app.use('\/api\/books', bookRoutes); app.use('\/api\/transactions', transactionRoutes); \/\/ \uc11c\ubc84 \uc2dc\uc791 const PORT = process.env.PORT || 5000; app.listen(PORT, () =&gt; console.log(`Server running on port ${PORT}`));<\/code><\/li>\n\n\n\n<li><strong>\ud658\uacbd \ubcc0\uc218 \uc124\uc815 (.env \ud30c\uc77c)<\/strong><ul><li>\ud504\ub85c\uc81d\ud2b8 \ub8e8\ud2b8 \ub514\ub809\ud1a0\ub9ac\uc5d0 <code>.env<\/code> \ud30c\uc77c\uc744 \uc0dd\uc131\ud558\uace0 MongoDB \uc5f0\uacb0 \ubb38\uc790\uc5f4\uc744 \ucd94\uac00\ud569\ub2c8\ub2e4.<\/li><\/ul>bash\ucf54\ub4dc \ubcf5\uc0ac<code>MONGO_URI=mongodb:\/\/localhost:27017\/your_projec_name JWT_SECRET=your_jwt_secret<\/code><\/li>\n\n\n\n<li><strong>\ubc31\uc5d4\ub4dc \uc11c\ubc84 \uc2e4\ud589<\/strong><ul><li>\ubc31\uc5d4\ub4dc \uc11c\ubc84\ub97c \uc2dc\uc791\ud558\uc5ec MongoDB\uc640\uc758 \uc5f0\uacb0\uc744 \ud655\uc778\ud569\ub2c8\ub2e4.<\/li><\/ul>bash\ucf54\ub4dc \ubcf5\uc0ac<code>cd backend node app.js<\/code><\/li>\n<\/ol>\n\n\n\n<h4 class=\"wp-block-heading\">5. MongoDB \uc5f0\uacb0 \ud655\uc778<\/h4>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\uc11c\ubc84 \ub85c\uadf8 \ud655\uc778<\/strong>\n<ul class=\"wp-block-list\">\n<li>\uc11c\ubc84\uac00 \uc2dc\uc791\ub418\uba74\uc11c &#8220;MongoDB connected&#8221; \uba54\uc2dc\uc9c0\uac00 \ucd9c\ub825\ub418\ub294\uc9c0 \ud655\uc778\ud569\ub2c8\ub2e4.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>\ub370\uc774\ud130\ubca0\uc774\uc2a4 \ud655\uc778<\/strong>\n<ul class=\"wp-block-list\">\n<li>MongoDB \uc178 \ub610\ub294 MongoDB Compass\ub97c \uc0ac\uc6a9\ud558\uc5ec <code>y<code>our_projec_name<\/code><\/code> \ub370\uc774\ud130\ubca0\uc774\uc2a4\uac00 \uc0dd\uc131\ub418\uc5c8\ub294\uc9c0 \ud655\uc778\ud569\ub2c8\ub2e4.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<p>\uc774 \uacfc\uc815\uc744 \ud1b5\ud574 MongoDB\ub97c \uc124\uce58\ud558\uace0 \uc124\uc815\ud558\uc5ec Node.js \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uacfc \uc5f0\uacb0\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. MongoDB\uc640\uc758 \uc5f0\uacb0\uc774 \uc131\uacf5\uc801\uc73c\ub85c \uc774\ub8e8\uc5b4\uc9c0\uba74, \ub370\uc774\ud130 \ubaa8\ub378\uc744 \uc815\uc758\ud558\uace0 CRUD \uc791\uc5c5\uc744 \uc218\ud589\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>MongoDB \uc124\uce58 \ubc0f \uc124\uc815 \uac00\uc774\ub4dc 1. MongoDB \uc124\uce58 Windows macOS Linux (Ubuntu) 2. MongoDB \uc124\uc815 3. MongoDB \uc5f0\uacb0 4. Node.js \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uacfc MongoDB \uc5f0\uacb0 5. MongoDB \uc5f0\uacb0 \ud655\uc778 \uc774 \uacfc\uc815\uc744 \ud1b5\ud574 MongoDB\ub97c \uc124\uce58\ud558\uace0 \uc124\uc815\ud558\uc5ec Node.js \uc560\ud50c\ub9ac\ucf00\uc774\uc158\uacfc \uc5f0\uacb0\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4. MongoDB\uc640\uc758 \uc5f0\uacb0\uc774 \uc131\uacf5\uc801\uc73c\ub85c \uc774\ub8e8\uc5b4\uc9c0\uba74, \ub370\uc774\ud130 \ubaa8\ub378\uc744 \uc815\uc758\ud558\uace0 CRUD \uc791\uc5c5\uc744 \uc218\ud589\ud560 \uc218 \uc788\uc2b5\ub2c8\ub2e4.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-1200","post","type-post","status-publish","format-standard","hentry","category-d-service"],"_links":{"self":[{"href":"https:\/\/absol.kr\/index.php?rest_route=\/wp\/v2\/posts\/1200","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/absol.kr\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/absol.kr\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/absol.kr\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/absol.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1200"}],"version-history":[{"count":3,"href":"https:\/\/absol.kr\/index.php?rest_route=\/wp\/v2\/posts\/1200\/revisions"}],"predecessor-version":[{"id":1209,"href":"https:\/\/absol.kr\/index.php?rest_route=\/wp\/v2\/posts\/1200\/revisions\/1209"}],"wp:attachment":[{"href":"https:\/\/absol.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1200"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/absol.kr\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1200"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/absol.kr\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1200"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}