Ich versuche, ein Array mit Datensätzen aus einer MongoDB-Datenbank mit Mungo zu füllen. Wenn ich versuche, die Aufzeichnungen zu füllen. Es zeigt ein leeres Array außerhalb der Funktion, obwohl ich das Äußere der Funktion deklariere. Unten ist der Code.Rückgabe leeres Array in NodeJs mit Mungo
var saveMessageToVariable = function(){
var records = [];
var spark_ids = [];
var obj = new Object();
Message.find().distinct("spark_id").exec(function(err,data) {
data.forEach(function (id) {
if(id != null)
spark_ids.push(id);
});
// console.log(spark_ids.length);
spark_ids.forEach(function(spark_id){
Message.findOne({"spark_id":spark_id}).sort({"date":-1}).exec(function(err,data){
obj.spark_id = data.spark_id;
obj.meesage = data.message;
obj.date = data.date;
obj.message_id = data._id;
records.push(obj);
});
});
});
console.log(records);
}
Wenn ich dies ausführen, zeigt das Protokoll ein leeres Array. Wie behebe ich dieses Problem?