【发布时间】:2018-06-15 22:26:42
【问题描述】:
我正在尝试将数据库中的一些信息放入一个数组中,以便我可以继续使用它。但是,在 for 循环中添加元素后,它们会消失并返回一个空数组。
// PROBLEM: all_prices-elements disappear TODO
// creates a price list
var all_prices = []; // all the prices
for (var i=0; i<query_id_list.length; i++) {
if (Object.keys(query_id_list[i]).length != 0) {
Toy.find(query_id_list[i], (err, toys) => {
if (!err) {
for (var i=0; i<toys.length; i++) {
var toyPrice = toys[i].price;
all_prices.push(toyPrice);
}
} else {
res.json({});
}
});
} else {
res.json({});
}
}
console.log(all_prices); // returns []
这是玩具模式:
var mongoose = require('mongoose');
// note: your host/port number may be different!
mongoose.connect('mongodb://localhost:27017/myDatabase');
var Schema = mongoose.Schema;
var toySchema = new Schema( {
id: {type: String, required: true, unique: true},
name: {type: String, required: true},
price: Number
});
module.exports = mongoose.model('Toy', toySchema);
【问题讨论】:
-
你能发布玩具和相关架构吗。我可以帮助你摆脱奇怪的循环地狱
标签: javascript arrays node.js express web-development-server