Node.js Mongoose find()并附加到数组
我尝试从数据库异步检索一些数据,然后将这些值附加到我需要的数组中,用于其他用途,我有以下函数:Node.js Mongoose find()并附加到数组,node.js,mongoose,ecmascript-6,Node.js,Mongoose,Ecmascript 6,我尝试从数据库异步检索一些数据,然后将这些值附加到我需要的数组中,用于其他用途,我有以下函数: function retrieveProduct(SKU, callback) { Products.find({ SKU: key }, function (err, doc) { if (err) { callback(err, null); } else { callback(null, doc[0]); } }); } 我是这样用的: for (var ke
function retrieveProduct(SKU, callback) {
Products.find({
SKU: key
}, function (err, doc) {
if (err) {
callback(err, null);
} else {
callback(null, doc[0]);
}
});
}
我是这样用的:
for (var key in orders) {
retrieveProduct(key, function (err, doc) {
if (err) {
console.log(err);
}
products_found[key] = doc
console.log(doc);
});
}
console.log(products_found);
}
其中,orders
是ID列表
问题是,当我尝试将doc
附加到products\u发现
时,没有附加任何内容,控制台也没有记录任何内容。此外,ESlint告诉我不要在循环中生成函数
我做错了什么?您介意改用Promissions吗?同样在第一个函数中,您传递了
SKU
,但我猜是使用了键。我注意到,即使我使用.then()
我仍然会遇到同样的问题。我肯定错过了什么。