我有一个空数组&想要从mongodb for for循环插入从查询返回的所有数组,但数据不会推入arr。以下是代码:
var arr = [];
categoryObj.find({is_deleted:false,ancestors: []}, function(err, data) {
if(data) {
for (i=0;i< data.length;i++) {
categoryObj.find({is_deleted:false}, function(err, result) {
if (result) {
arr[i].push(result);
}
})
}
}
console.log(arr);
}
任何帮助,非常感谢。
答案 0 :(得分:0)
如果结果不为空,那么一个简单的 arr.push(结果)应该做的事情(没有[i])否则你应该检查结果是否是'通过在控制台中输出任何内容来返回任何内容。
答案 1 :(得分:0)
var arr = [];
for (i=0;i< data.length;i++) {
categoryObj.find({is_deleted:false}, function(err, result) {
if (result) {
arr.push(result);
}
})
}
console.log(arr);
arr.push
代替arr[i].push
。
答案 2 :(得分:0)
如果您的数据是对象,则必须使用此代码:
for(var key in data){
var value = data[key];
/* do something with your data, e.g. arr.push(value); */
}
如果您的数据是数组,则可以使用代码但更改此行
arr[i].push(result);
到
arr.push(result);