1 回答
TA贡献1777条经验 获得超10个赞
假设你想从 firestore 获取数据集合,你应该首先获取该集合的引用:
const currencyRef = firestore().collection('CURRENCY-PAIR');
const alertRef = firestore().collection('Alert_Status');
然后,您可以使用这些引用从 firestore 获取数据:
currencyRef.get()
.then((doc) => {
console.log(doc.data());
});
如您所见,数据采用承诺的形式,您必须解决该承诺。doc.data() 是集合中所有数据的数组,采用 JS 对象的形式。
由于数据作为承诺而来,因此您可以创建一个异步获取函数来解析承诺,并将数据放入返回的新数组中。也许你可以这样做:
const fetchAllCurrencies = async () => {
const obj = []; // empty array to put collections in
const currencyRef = firestore().collection('CURRENCY-PAIR'); // ref
const snapshot = await currencyRef.get() // resolve promise from firestore
snapshot.forEach((doc) => { // loop over data
obj.push({ id: doc.id, ...doc.data() }); // push each collection to array
});
return obj; // return array with collection objects
}
您可以为警报集合创建类似的函数。
我不完全确定您的意思:“我如何将 CURRENCY-PAIR 集合中的货币对名称和 Alerts 集合中的 Alert_Status 映射到显示两者的列表。”
通过创建像上面这样的函数,您可以获得集合 js 对象的数组。您可以将两个数组组合起来:
const newArray = array1.concat(array2);
这会将两个数组融合为一个。这可能不是您想要做的。如果我是你,我会将两个数组分开。
添加回答
举报