【发布时间】:2014-11-25 08:27:50
【问题描述】:
我是这个 javascript 的新手,我对 mongoose 的“查找”范围有一些疑问。
我写了下面的代码来试图理解这个问题。
下面的代码搜索购物集合,然后搜索分配给此购物的商店。
storeMap 是 storeId => storeObject 的 hashmap,但是当 Store.findOne 范围结束时,storeMap 似乎回滚到一个空数组...
var storeMap = {};
Shopping.findOne({ name: shoppingName }, function(err, shopping){
shopping.stores.forEach(function(storeId) {
Store.findOne({_id: storeId}, function(err, store) {
if(err) console.log(err);
console.log(store); //prints out store data
storeMap[storeId] = store;
console.log(storeMap); //prints out store data
});
console.log(storeMap); //prints out an empty array
});
});
那么,为什么我的 storeMap 数组打印的是空数组而不是 store 数组?
【问题讨论】:
标签: javascript arrays node.js mongodb mongoose