【问题标题】:Node js file exit before database is ready在数据库准备好之前节点 js 文件退出
【发布时间】:2018-02-16 08:17:50
【问题描述】:

我是节点编程的新手,我有以下问题:

当我使用 node index.js 命令启动我的脚本时,为什么“数据库已连接”和“handleDataResult”无法正确记录在节点控制台中?

我的代码只记录“无回调”并立即退出。

const mongojs = require('mongojs');
var url = "mongodb://<username>:<password>@ds237748.mlab.com:37748/anbieter";
var db = mongojs(url);
var mycollection = db.collection('Anbieter');

db.on('connect', function () {
    console.log('database connected')
});

db.mycollection.find({}, handleDataResult);

var handleDataResult = function (err, docs){
  console.log("handleDataResult");
}

console.log("no callback");

【问题讨论】:

标签: javascript node.js database mongodb mongojs


【解决方案1】:

Node.js 是异步的。将您的代码放在您的数据库连接函数中。

const mongojs = require('mongojs');
var url = "mongodb://<username>:<password>@ds237748.mlab.com:37748/anbieter";
var db = mongojs(url);
var mycollection = db.collection('Anbieter');
db.on('connect', function () {
    console.log('database connected')
    db.mycollection.find({}, handleDataResult);
});

var handleDataResult = function (err, docs){
    console.log("handleDataResult");
}

console.log("no callback");

【讨论】:

    猜你喜欢
    • 2019-03-08
    • 2016-04-07
    • 2011-01-06
    • 1970-01-01
    • 2020-10-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-24
    相关资源
    最近更新 更多