MongoDB์์๋ ๋ฐ์ดํฐ๋ฅผ ๊ด๋ฆฌํ๋ ๊ณผ์ ์์ ํ์์ ๋ฐ๋ผ ์ปฌ๋ ์
(Collection) ๋๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค(Database) ์ ์ฒด๋ฅผ ์ญ์ ํ ์ ์์ต๋๋ค. ์ด๋ฌํ ์ญ์ ์์
์ drop()
๋ฉ์๋๋ฅผ ์ฌ์ฉํ์ฌ ์ํํ ์ ์์ต๋๋ค. ์ด๋ฒ ๊ธ์์๋ Node.js์ MongoDB๋ฅผ ์ฐ๋ํ์ฌ ์ปฌ๋ ์
๊ณผ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ญ์ ํ๋ ๋ฐฉ๋ฒ์ ๋จ๊ณ๋ณ๋ก ์ค๋ช
ํ๊ฒ ์ต๋๋ค.
Node.js์ MongoDB ์ฐ๋ ์ค์
MongoDB์์ ๋ฐ์ดํฐ๋ฅผ ์ญ์ ํ๊ธฐ ์ ์, ๋จผ์ Node.js์ MongoDB๋ฅผ ์ฐ๋ํด์ผ ํฉ๋๋ค. ์ด๋ฅผ ์ํด mongodb
ํจํค์ง๋ฅผ ์ค์นํ๊ณ MongoDB ์๋ฒ์ ์ฐ๊ฒฐํ๋ ๋ฐฉ๋ฒ์ ์์๋ณด๊ฒ ์ต๋๋ค.
1. MongoDB ์ค์น ๋ฐ ์ค์
MongoDB๋ ๋ก์ปฌ ํ๊ฒฝ์์ ์ค์นํ๊ฑฐ๋, MongoDB Atlas์ ๊ฐ์ ํด๋ผ์ฐ๋ ๊ธฐ๋ฐ ์๋น์ค๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. ๋ก์ปฌ์ MongoDB ์๋ฒ๋ฅผ ์ค์นํ ํ ์๋ ๋ช
๋ น์ด๋ก Node.js ํ๋ก์ ํธ๋ฅผ ์ด๊ธฐํํ๊ณ , mongodb
ํจํค์ง๋ฅผ ์ค์นํฉ๋๋ค.
$ mkdir myapp
$ cd myapp
$ npm init -y
$ npm install mongodb
2. MongoDB ์ฐ๊ฒฐ ์ค์
๋ค์์ MongoDB ์๋ฒ์ ์ฐ๊ฒฐํ๋ ๊ธฐ๋ณธ ์ฝ๋์
๋๋ค. MongoClient
๊ฐ์ฒด๋ฅผ ์ฌ์ฉํ์ฌ MongoDB์ Node.js๋ฅผ ์ฐ๊ฒฐํ ์ ์์ต๋๋ค.
// app.js
const { MongoClient } = require('mongodb');
// MongoDB ์ฐ๊ฒฐ URL
const url = 'mongodb://localhost:27017'; // ๋ก์ปฌ MongoDB URL
const client = new MongoClient(url);
// ์ฌ์ฉํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ด๋ฆ
const dbName = 'myDatabase';
async function main() {
try {
// MongoDB ์ฐ๊ฒฐ
await client.connect();
console.log('MongoDB์ ์ฑ๊ณต์ ์ผ๋ก ์ฐ๊ฒฐ๋์์ต๋๋ค.');
// ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ ํ
const db = client.db(dbName);
console.log(`๋ฐ์ดํฐ๋ฒ ์ด์ค ${dbName} ์ ํ๋จ.`);
} catch (error) {
console.error('MongoDB ์ฐ๊ฒฐ ์ค ์ค๋ฅ ๋ฐ์:', error);
} finally {
// MongoDB ์ฐ๊ฒฐ ์ข
๋ฃ
await client.close();
console.log('MongoDB ์ฐ๊ฒฐ์ด ์ข
๋ฃ๋์์ต๋๋ค.');
}
}
main();
์ ์ฝ๋๋ฅผ ํตํด MongoDB ์๋ฒ์ ์ฐ๊ฒฐํ๊ณ , ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ ํํ ์ ์์ต๋๋ค. ์ด์ ์ปฌ๋ ์ ๋ฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ญ์ ํ ์ค๋น๊ฐ ์๋ฃ๋์์ต๋๋ค.
MongoDB์์ ์ปฌ๋ ์ ์ญ์ ํ๊ธฐ
MongoDB์์ ํน์ ์ปฌ๋ ์
์ ์ญ์ ํ๋ ค๋ฉด drop()
๋ฉ์๋๋ฅผ ์ฌ์ฉํ๋ฉด ๋ฉ๋๋ค. ์ด ๋ฉ์๋๋ ์ ํํ ์ปฌ๋ ์
์ ์์ ํ ์ ๊ฑฐํฉ๋๋ค. ์๋ฅผ ๋ค์ด, users
๋ผ๋ ์ปฌ๋ ์
์ ์ญ์ ํ๋ ๋ฐฉ๋ฒ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
1. ์ปฌ๋ ์
์ญ์ : drop()
๋ฉ์๋
ํน์ ์ปฌ๋ ์
์ ์ญ์ ํ ๋, drop()
๋ฉ์๋๋ฅผ ์ฌ์ฉํ์ฌ ํด๋น ์ปฌ๋ ์
์ ์์ ํ ์ ๊ฑฐํ ์ ์์ต๋๋ค.
// ์ปฌ๋ ์
์ญ์ ์์
async function dropCollection() {
try {
await client.connect();
console.log('MongoDB์ ์ฑ๊ณต์ ์ผ๋ก ์ฐ๊ฒฐ๋์์ต๋๋ค.');
const db = client.db(dbName);
// 'users' ์ปฌ๋ ์
์ญ์
const result = await db.collection('users').drop();
console.log('์ปฌ๋ ์
์ด ์ฑ๊ณต์ ์ผ๋ก ์ญ์ ๋์์ต๋๋ค:', result);
} catch (error) {
console.error('์ปฌ๋ ์
์ญ์ ์ค ์ค๋ฅ ๋ฐ์:', error);
} finally {
await client.close();
console.log('MongoDB ์ฐ๊ฒฐ์ด ์ข
๋ฃ๋์์ต๋๋ค.');
}
}
dropCollection();
์ ์ฝ๋๋ users
๋ผ๋ ์ปฌ๋ ์
์ ์ญ์ ํ๋ ์์์
๋๋ค. ์ปฌ๋ ์
์ด ์ฑ๊ณต์ ์ผ๋ก ์ญ์ ๋๋ฉด, ์ญ์ ๊ฒฐ๊ณผ๊ฐ true
๋ก ๋ฐํ๋ฉ๋๋ค.
MongoDB์์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ญ์ ํ๊ธฐ
์ปฌ๋ ์
๋ฟ๋ง ์๋๋ผ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ ์ฒด๋ฅผ ์ญ์ ํ ์๋ ์์ต๋๋ค. ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ญ์ ํ๋ ค๋ฉด dropDatabase()
๋ฉ์๋๋ฅผ ์ฌ์ฉํฉ๋๋ค. ์ด ๋ฉ์๋๋ ์ ํํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๊ทธ ์์ ๋ชจ๋ ์ปฌ๋ ์
์ ์์ ํ ์ญ์ ํฉ๋๋ค.
1. ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ญ์ : dropDatabase()
๋ฉ์๋
๋ค์์ myDatabase
๋ผ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ ์ฒด๋ฅผ ์ญ์ ํ๋ ์์์
๋๋ค.
// ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ญ์ ์์
async function dropDatabase() {
try {
await client.connect();
console.log('MongoDB์ ์ฑ๊ณต์ ์ผ๋ก ์ฐ๊ฒฐ๋์์ต๋๋ค.');
const db = client.db(dbName);
// ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ญ์
const result = await db.dropDatabase();
console.log('๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ์ฑ๊ณต์ ์ผ๋ก ์ญ์ ๋์์ต๋๋ค:', result);
} catch (error) {
console.error('๋ฐ์ดํฐ๋ฒ ์ด์ค ์ญ์ ์ค ์ค๋ฅ ๋ฐ์:', error);
} finally {
await client.close();
console.log('MongoDB ์ฐ๊ฒฐ์ด ์ข
๋ฃ๋์์ต๋๋ค.');
}
}
dropDatabase();
์ ์ฝ๋๋ myDatabase
๋ผ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ญ์ ํ๋ ์์์
๋๋ค. dropDatabase()
๋ฉ์๋๋ ํด๋น ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ชจ๋ ์ปฌ๋ ์
๊ณผ ๋ฐ์ดํฐ๋ฅผ ์ ๊ฑฐํฉ๋๋ค.
์ปฌ๋ ์ ๊ณผ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ญ์ ์ ์ ์์ฌํญ
์ปฌ๋ ์
์ด๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ญ์ ํ ๋๋ ์ ์คํด์ผ ํฉ๋๋ค. ์ญ์ ๋ ๋ฐ์ดํฐ๋ ๋ณต๊ตฌ๊ฐ ๋ถ๊ฐ๋ฅํ๋ฉฐ, drop()
๊ณผ dropDatabase()
๋ฉ์๋๋ ๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ ์์ ํ ์ ๊ฑฐํฉ๋๋ค. ํนํ ์ค์ํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ์ปฌ๋ ์
์ ์ญ์ ํ ๋๋ ๋ฐ๋์ ๋ฐฑ์
์ ๊ณ ๋ คํด์ผ ํฉ๋๋ค.
MongoDB ์ฐ๊ฒฐ ์ข ๋ฃ
๋ฐ์ดํฐ ์ญ์ ์์
์ด ๋๋๋ฉด MongoDB ์ฐ๊ฒฐ์ ์์ ํ๊ฒ ์ข
๋ฃํด์ผ ํฉ๋๋ค. client.close()
๋ฉ์๋๋ฅผ ์ฌ์ฉํด ์ฐ๊ฒฐ์ ์ข
๋ฃํ ์ ์์ต๋๋ค.
// MongoDB ์ฐ๊ฒฐ ์ข
๋ฃ
await client.close();
console.log('MongoDB ์ฐ๊ฒฐ์ด ์ข
๋ฃ๋์์ต๋๋ค.');
๊ฒฐ๋ก
์ด๋ฒ ๊ธ์์๋ Node.js์ MongoDB๋ฅผ ์ฌ์ฉํ์ฌ ์ปฌ๋ ์
๊ณผ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ญ์ ํ๋ ๋ฐฉ๋ฒ์ ์ดํด๋ณด์์ต๋๋ค. MongoDB์ drop()
๋ฉ์๋๋ฅผ ์ฌ์ฉํด ํน์ ์ปฌ๋ ์
์ ์ญ์ ํ๊ฑฐ๋, dropDatabase()
๋ฉ์๋๋ฅผ ํตํด ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ ์ฒด๋ฅผ ์ญ์ ํ ์ ์์ต๋๋ค. ๋ฐ์ดํฐ ์ญ์ ์์
์ ๋ณต๊ตฌ๊ฐ ๋ถ๊ฐ๋ฅํ๋ฏ๋ก ์ ์คํ๊ฒ ์ฒ๋ฆฌํด์ผ ํ๋ฉฐ, ํ์ํ ๊ฒฝ์ฐ ๋ฐ์ดํฐ๋ฅผ ๋ฐฑ์
ํ๋ ๊ฒ์ด ์ข์ต๋๋ค. ์ด ๊ฐ์ด๋๋ฅผ ๋ฐํ์ผ๋ก MongoDB์์ ๋ฐ์ดํฐ๋ฅผ ์์ ํ๊ฒ ๊ด๋ฆฌํ์ธ์!
๋๊ธ ์ฐ๊ธฐ