[Node.js] DB 연결 에러: database.collection is not a function
Programming/Error Log

[Node.js] DB 연결 에러: database.collection is not a function

728x90
반응형

do it node.js 교재로 공부를 하던 중 발견한 에러. (220p)

내가 가지고 있는 교재가 2017년 판이라 최신 버전에 맞지 않는 부분이 간혹 존재한다.

몽고DB 연결 도중 발견한 문제!

 

error: database.collection is not a function

 

DB 연결 소스코드
// DB 연결
var MongoClient = require('mongodb').MongoClient;
var database;
function connectDB() {
    var databaseUrl = 'mongodb://localhost:27017/local';
    MongoClient.connect(databaseUrl, function(err, db) {
        if(err) throw err;
        console.log('database connect', databaseUrl);
        database = db;
    });
}

DB를 연결하는 부분에서 

database = db;

이 부분을 수정하면 된다.

 

몽고DB 버전 3.0 이상에서는 database 이름을 명시해야 한다.

// DB 연결
var MongoClient = require('mongodb').MongoClient;
var database;
function connectDB() {
    var databaseUrl = 'mongodb://localhost:27017/local';
    MongoClient.connect(databaseUrl, function(err, db) {
        if(err) throw err;
        console.log('database connect', databaseUrl);
        database = db.db('local');
    });
}

database = db.db('local');

다음과 같이 수정해주기

나는 local 이라는 database에서 진행하기 때문에 local이라고 명시해주었다.

 

소스를 수정하고 다시 실행하니 원하는 결과가 나왔다.

 

 

출처

https://preamtree.tistory.com/109

728x90
반응형