使用js映射两个Firestore集合中的数据

我有两个集合,即:CURRENCY-PAIRAlerts

CURRENCY-PAIR集合包含以下内容;

  • 货币对名称

  • 货币卖价

  • 货币买入价

Alerts集合包含以下内容:

  • 警报ID

  • 警报状态

我如何将集合和集合映射 Currency-Pair NameCURRENCY-PAIR 显示Alert_Status两者Alerts的列表。


犯罪嫌疑人X
浏览 103回答 1
1回答

不负相思意

假设你想从 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);这会将两个数组融合为一个。这可能不是您想要做的。如果我是你,我会将两个数组分开。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript