NodeJS 速習チュートリアル

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 deleted

2. 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