我最近開始學習MEAN。我有以下代碼返回MongoDb的文檔集合。如何在node.js中從異步函數返回值
var giveData = function()
{
var mongodb = require('mongodb');
var mongoClient = mongodb.MongoClient;
var url = 'mongodb://127.0.0.1:27017/ngs'
var retVal; // this is a return value which will contain documents
mongoClient.connect(url, function(err, db)
{
if (err)
{
console.log(err)
}else
{
db.collection('employees').find().toArray(
function(err, doc)
{
if(err)
{
throw err;
}else{
console.log(doc); // this works fine
retVal = doc; // this does not assign the value ???? why so ??
}
}
);
}
}
)
console.log("Message from lib");
console.log(retVal); // this returns undefined
console.log("-----------------");
return retVal; // this may return data from the server but is returning undefined
}
module.exports ={ showMessage: showMessage,
giveData: giveData
}
從言論很明顯,我想從MongoDB的數據庫文件收集到一個名爲retVal的變量,這是我在分配正確的流程文檔的價值。
儘管文檔已成功顯示,但不知何故,它並未分配給名爲retVal的變量。
請扔一些輕的主題所以文檔集合從()稱爲giveData功能
感謝和問候返回。
你...不知道。 :) –