【发布时间】:2021-07-29 23:32:33
【问题描述】:
我正在对我的收藏文档执行查询,并尝试将所有电话号码返回到一个数组中。我只想将电话号码设置为数组以供另一个函数使用。 Firebase 文档仅显示 (doc.id) 和 (doc.data) 的控制台日志,对文档中的任何其他对象没有实际用途。我的 info.phoneNumbers 控制台日志返回所有 phoneNumbers。
async getPhone() {
await this.afs.collection('members', ref => ref.where('phoneNumber', '>=', 0))
.get().toPromise()
.then(snapshot => {
if (snapshot.empty) {
console.log('No Matches');
return;
}
this.getInfo(snapshot.docs);
});
}
getInfo(data) {
data.forEach(doc => {
let info = doc.data();
console.log(info.phoneNumber, 'Phonenumbers');
// let myArray = [];
// myArray.push(doc.doc.data());
// const phoneNumber = info.phoneNumber as [];
// console.log(myArray, 'ARRAY');
return info.phoneNumber;
})
}```
【问题讨论】:
-
您好,请使用 .map 而不是 forEach。
data.map()并从 getInfoData() 中返回 -
我在我的 snapshot.docs(所有文档)上使用 forEach,正如我所说,它给了我所有的电话号码。我的控制台日志返回所有带有 info.phoneNumber 的号码。这是我想要的结果,但我正在尝试将这些数字设置为可以在模板中使用的数组。使用
data.map()现在记录 1 个号码。感谢您的建议。
标签: arrays angular google-cloud-firestore