从Node.js连接到MongoDB会导致Node挂起

时间:2016-05-17 12:21:08

标签: node.js

以下是app.js文件中的代码。当我执行这个代码时,它得到了 连接到MongoDB并显示“已连接到数据库”消息。

但是一旦消息显示出来,我就希望程序能够结束; 相反,程序继续运行。

为什么程序会在打印文本后继续运行而不是结束?

const mongodb = require('mongodb');
const co = require('co');

const MongoClient = mongodb.MongoClient;
const url = "mongodb://localhost:27017/test9";

co(function *() {
    db = yield MongoClient.connect(url);
    console.log('Connected to DB');
});

1 个答案:

答案 0 :(得分:1)

由于您未关闭连接,因此Node不知道您已完成此操作并且它将继续运行。

关闭它时,该过程将正确退出:

co(function *() {
  let db = yield MongoClient.connect(url);
  console.log('Connected to DB');
  yield db.close();
});