MongoDB๋ ์ ์ฐํ ๋ฐ์ดํฐ ๊ด๋ฆฌ๋ฅผ ์ง์ํ๋ฉฐ, ๋๋ก๋ ๋ฐ์ดํฐ๋ฅผ ์ญ์ ํด์ผ ํ ์ํฉ์ด ๋ฐ์ํฉ๋๋ค. MongoDB์์๋ deleteOne()๊ณผ deleteMany() ๋ฉ์๋๋ฅผ ์ฌ์ฉํด ๋ฐ์ดํฐ๋ฅผ ์ญ์ ํ ์ ์์ต๋๋ค. ์ด๋ฒ ๊ธ์์๋ 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
๊ฐ์ฒด๋ฅผ ์ฌ์ฉํ์ฌ Node.js์ MongoDB๋ฅผ ์ฐ๊ฒฐํ ์ ์์ต๋๋ค.
// 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์์ ๋ฐ์ดํฐ๋ฅผ ์ญ์ ํ๋ ๋ฐฉ๋ฒ์๋ deleteOne()๊ณผ deleteMany() ๋ ๊ฐ์ง ๋ฉ์๋๊ฐ ์์ต๋๋ค. deleteOne()
์ ์กฐ๊ฑด์ ๋ง๋ ์ฒซ ๋ฒ์งธ ๋ฌธ์๋ง ์ญ์ ํ๊ณ , deleteMany()
๋ ์กฐ๊ฑด์ ๋ง๋ ๋ชจ๋ ๋ฌธ์๋ฅผ ์ญ์ ํฉ๋๋ค.
1. ๋จ์ผ ๋ฐ์ดํฐ ์ญ์ : deleteOne()
ํน์ ์กฐ๊ฑด์ ๋ง๋ ํ๋์ ๋ฌธ์๋ง ์ญ์ ํ๋ ค๋ฉด deleteOne()
๋ฉ์๋๋ฅผ ์ฌ์ฉํฉ๋๋ค. ์๋ฅผ ๋ค์ด, ์ด๋ฆ์ด 'John Doe'์ธ ์ฌ์ฉ์๋ฅผ ์ญ์ ํ๋ ์ฝ๋๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
// ๋จ์ผ ๋ฐ์ดํฐ ์ญ์ ์์
async function deleteSingleData() {
try {
await client.connect();
console.log('MongoDB์ ์ฑ๊ณต์ ์ผ๋ก ์ฐ๊ฒฐ๋์์ต๋๋ค.');
const db = client.db(dbName);
const collection = db.collection('users');
// ์ด๋ฆ์ด 'John Doe'์ธ ์ฌ์ฉ์ ์ญ์
const result = await collection.deleteOne({ name: 'John Doe' });
console.log('์ญ์ ๋ ๋ฌธ์ ์:', result.deletedCount);
} catch (error) {
console.error('๋ฐ์ดํฐ ์ญ์ ์ค ์ค๋ฅ ๋ฐ์:', error);
} finally {
await client.close();
console.log('MongoDB ์ฐ๊ฒฐ์ด ์ข
๋ฃ๋์์ต๋๋ค.');
}
}
deleteSingleData();
์ ์ฝ๋๋ users
์ปฌ๋ ์
์์ ์ด๋ฆ์ด 'John Doe'์ธ ์ฌ์ฉ์๋ฅผ ์ญ์ ํ๋ ์์์
๋๋ค. deleteOne()
๋ฉ์๋๋ ์ฒซ ๋ฒ์งธ๋ก ์ผ์นํ๋ ๋ฌธ์๋ฅผ ์ญ์ ํ๋ฉฐ, ๊ฒฐ๊ณผ๋ก ์ญ์ ๋ ๋ฌธ์์ ์๋ฅผ ๋ฐํํฉ๋๋ค.
2. ์ฌ๋ฌ ๋ฐ์ดํฐ ์ญ์ : deleteMany()
ํน์ ์กฐ๊ฑด์ ๋ง๋ ์ฌ๋ฌ ๋ฌธ์๋ฅผ ์ญ์ ํ๋ ค๋ฉด deleteMany()
๋ฉ์๋๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด, ๋์ด๊ฐ 30 ์ด์์ธ ๋ชจ๋ ์ฌ์ฉ์๋ฅผ ์ญ์ ํ๋ ์ฝ๋๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
// ์ฌ๋ฌ ๋ฐ์ดํฐ ์ญ์ ์์
async function deleteMultipleData() {
try {
await client.connect();
console.log('MongoDB์ ์ฑ๊ณต์ ์ผ๋ก ์ฐ๊ฒฐ๋์์ต๋๋ค.');
const db = client.db(dbName);
const collection = db.collection('users');
// ๋์ด๊ฐ 30 ์ด์์ธ ์ฌ์ฉ์ ๋ชจ๋ ์ญ์
const result = await collection.deleteMany({ age: { $gte: 30 } });
console.log('์ญ์ ๋ ๋ฌธ์ ์:', result.deletedCount);
} catch (error) {
console.error('๋ฐ์ดํฐ ์ญ์ ์ค ์ค๋ฅ ๋ฐ์:', error);
} finally {
await client.close();
console.log('MongoDB ์ฐ๊ฒฐ์ด ์ข
๋ฃ๋์์ต๋๋ค.');
}
}
deleteMultipleData();
์ ์ฝ๋๋ ๋์ด๊ฐ 30 ์ด์์ธ ๋ชจ๋ ์ฌ์ฉ์๋ฅผ ์ญ์ ํ๋ ์์์
๋๋ค. deleteMany()
๋ฉ์๋๋ฅผ ์ฌ์ฉํด ์กฐ๊ฑด์ ๋ง๋ ๋ชจ๋ ๋ฌธ์๋ฅผ ์ญ์ ํ ์ ์์ผ๋ฉฐ, ๊ฒฐ๊ณผ๋ก ์ญ์ ๋ ๋ฌธ์์ ์๋ฅผ ๋ฐํํฉ๋๋ค.
3. ๋ชจ๋ ๋ฐ์ดํฐ ์ญ์ : deleteMany()
์ฌ์ฉ
์ปฌ๋ ์
๋ด์ ๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ ์ญ์ ํ๋ ค๋ฉด ์กฐ๊ฑด ์์ด deleteMany({})
๋ฅผ ์ฌ์ฉํฉ๋๋ค. ์ด๋ ์ปฌ๋ ์
์ ๋ชจ๋ ๋ฌธ์๋ฅผ ์ญ์ ํฉ๋๋ค.
// ๋ชจ๋ ๋ฐ์ดํฐ ์ญ์ ์์
async function deleteAllData() {
try {
await client.connect();
console.log('MongoDB์ ์ฑ๊ณต์ ์ผ๋ก ์ฐ๊ฒฐ๋์์ต๋๋ค.');
const db = client.db(dbName);
const collection = db.collection('users');
// ๋ชจ๋ ์ฌ์ฉ์ ์ญ์
const result = await collection.deleteMany({});
console.log('๋ชจ๋ ๋ฌธ์๊ฐ ์ญ์ ๋์์ต๋๋ค. ์ญ์ ๋ ๋ฌธ์ ์:', result.deletedCount);
} catch (error) {
console.error('๋ฐ์ดํฐ ์ญ์ ์ค ์ค๋ฅ ๋ฐ์:', error);
} finally {
await client.close();
console.log('MongoDB ์ฐ๊ฒฐ์ด ์ข
๋ฃ๋์์ต๋๋ค.');
}
}
deleteAllData();
์ ์ฝ๋๋ deleteMany({})
๋ฅผ ์ฌ์ฉํด users
์ปฌ๋ ์
์ ๋ชจ๋ ๋ฌธ์๋ฅผ ์ญ์ ํ๋ ์์์
๋๋ค. ์กฐ๊ฑด ์์ด ํธ์ถํ๋ฉด ์ปฌ๋ ์
๋ด ๋ชจ๋ ๋ฐ์ดํฐ๊ฐ ์ญ์ ๋ฉ๋๋ค.
MongoDB ์ฐ๊ฒฐ ์ข ๋ฃ
๋ฐ์ดํฐ ์ญ์ ์์
์ด ๋๋ ํ์๋ MongoDB ์ฐ๊ฒฐ์ ์์ ํ๊ฒ ์ข
๋ฃํด์ผ ํฉ๋๋ค. client.close()
๋ฉ์๋๋ฅผ ์ฌ์ฉํด MongoDB ์ฐ๊ฒฐ์ ์ข
๋ฃํ ์ ์์ต๋๋ค.
// MongoDB ์ฐ๊ฒฐ ์ข
๋ฃ
await client.close();
console.log('MongoDB ์ฐ๊ฒฐ์ด ์ข
๋ฃ๋์์ต๋๋ค.');
๊ฒฐ๋ก
์ด๋ฒ ๊ธ์์๋ Node.js์ MongoDB๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ๋ฅผ ์ญ์ ํ๋ ๋ฐฉ๋ฒ์ ์ดํด๋ณด์์ต๋๋ค. MongoDB์ deleteOne()
๊ณผ deleteMany()
๋ฉ์๋๋ฅผ ์ฌ์ฉํด ๋จ์ผ ๋ฌธ์ ๋๋ ์ฌ๋ฌ ๋ฌธ์๋ฅผ ํจ์จ์ ์ผ๋ก ์ญ์ ํ ์ ์์ต๋๋ค. ์ด ๊ฐ์ด๋๋ฅผ ๋ฐํ์ผ๋ก MongoDB์์ ๋ฐ์ดํฐ๋ฅผ ์ญ์ ํ๊ณ , ์ ํ๋ฆฌ์ผ์ด์
์์ ๋ฐ์ดํฐ๋ฅผ ๊ด๋ฆฌํ๋ ๊ธฐ๋ฅ์ ๊ตฌํํด๋ณด์ธ์!
๋๊ธ ์ฐ๊ธฐ