Node.js MongoDB コレクションの削除
1. コレクションの削除
MongoDBでは、MySQLにおけるテーブルに相当する「コレクション(Collection)」を削除するために、drop() メソッドを使用します。
drop() メソッドは、エラーオブジェクトとリザルト(結果)パラメータを含むコールバック関数を引数にとります。コレクションの削除に成功した場合は、リザルトパラメータに true が返され、失敗した場合は false が返されます。
1.1 実装例:「customers」コレクションを削除する
let MongoClient = require('mongodb').MongoClient;
let url = "mongodb://localhost:27017/";
MongoClient.connect(url, function(err, db) {
if (err) throw err;
let dbo = db.db("mydb");
// "customers" コレクションをドロップ
dbo.collection("customers").drop(function(err, delOK) {
if (err) throw err;
// delOK が true の場合にメッセージを出力
if (delOK) console.log("コレクションが削除されました");
db.close();
});
});上記の内容を demo_drop.js というファイル名で保存し、実行してください。
demo_drop.js の実行
C:\Users\Your Name>node demo_drop.js実行結果:
Collection deleted2. db.dropCollection メソッド
コレクションを削除するためのもう一つのアプローチとして、dropCollection() メソッドを使用することも可能です。
dropCollection() メソッドは、「削除するコレクションの名前」と「コールバック関数」の2つのパラメータを必要とします。
2.1 実装例:dropCollection() を使用した削除
let MongoClient = require('mongodb').MongoClient;
let url = "mongodb://localhost:27017/";
MongoClient.connect(url, function(err, db) {
if (err) throw err;
let dbo = db.db("mydb");
// データベースオブジェクトからコレクション名を直接指定して削除
dbo.dropCollection("customers", function(err, delOK) {
if (err) throw err;
if (delOK) console.log("コレクションが削除されました");
db.close();
});
});上記の内容を demo_dropcollection.js というファイル名で保存し、実行します。
demo_dropcollection.js の実行
C:\Users\Your Name>node demo_dropcollection.js実行結果:
Collection deleted