我是节点编程的新手,我有以下问题:
为什么"数据库连接"和" handleDataResult"使用 node index.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");
答案 0 :(得分:0)
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");