Node.js & MongoDB

데이터베이스 접근과 조작

데이터베이스 나열

시스템의 데이터베이스를 나열하려면 Admin 객체의 listDatabases() 메소드를 사용해야 한다. 즉, Admin 객체의 인스턴스를 먼저 생성해야 한다.

다음 코드는 Admin 객체를 생성하고, 몽고DB 서버에서 데이터베이스의 목록을 얻기 위해 이 객체를 사용하는 예제다.

var MongoClient = require('mongodb').MongoClient;
MongoClient.connect("mongodb://localhost/admin", function(err,db){
    var adminDB = db.admin()
    adminDB.listDatabases(function(err, databases){
        console.log("Before Add Database List: ");
        console.log(databases);
    });
});

데이터베이스 생성

새로운 데이터베이스를 생성하려면, 새로운 DB 객체 인스턴스를 생성하기 위해 MongoClient 커넥션이 제공한 Db 객체의 db() 메소드를 사용하면 된다. 그런 다음, 데이터베이스를 생성하기 위해 Db 객체의 새로운 인스턴스에 대해 createCollection()을 호출하면 된다.

다음 코드는 서버에 접속한 다음 newDB라는 새로운 데이터베이스를 생성하는 예제다.

var MongoClient = require('mongodb').MongoClient;
MongoClient.connect("mongodb://localhost/admin", function(err,db){
    var adminDB = db.db("newDB")
    adminDB.createCollection("newCollection", function(err, collection){
        if(!err){
            console.log("New Database and Collection Created");
        }
    });
});

데이터베이스 삭제

데이터베이스를 삭제하려면 해당 데이터베이스를 가리키는 Db 객체 인스턴스를 얻어야 한다. 그런 다음 해당 객체의 dropDatabase() 메소드를 호출한다.

newDB.dropDatabase(function(err, results){

});