我必须将数组中的每个数据都放入一个数组中,但是当我使用诸如tmp.name
或tmp[0].name
之类的东西会导致undefined
甚至{{1} }结果tmp.length
0
tmp结果
[]
0:{分配:“ userA”,名称:“ NameA”}
1:{分配:“ userA”,名称:“ NameB”}
长度:2
__proto_:Array(0)
答案 0 :(得分:0)
var tmp = [];
var db = firebase.firestore();
var docCollection = db.collection('doctors');
var assignedDoctors = docCollection.where('assign', '==', user.key).get();
assignedDoctors.then(function(doc){
let i = 0;
doc.forEach(function(md){
tmp.push(md.data());
// tmp[i].key = md.id;
// i++;
});
}).catch(function(e){
console.log(e);
});
console.log(tmp)
评论这些行并检查它。
答案 1 :(得分:0)
只需声明map并将md.data()
的所有数据分配给map,然后将map推入数组并删除变量i
(因为不需要)。如下所示:
doc.forEach(function(md){
var map = {};
map = md.data();
map.key = md.id;
tmp.push(map);
});