mongoose를 사용하여 mongoDB 데이터베이스의 레코드로 배열을 채우려고합니다. 기록을 채우려 할 때. 그것은 함수 밖에서 빈 배열을 보여줍니다. 아래는 코드입니다.mongoose를 사용하여 NodeJs에서 빈 배열을 반환
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);
}
이 스크립트를 실행하면 로그에 빈 배열이 표시됩니다. 이 문제를 어떻게 해결합니까?