连接Firebase数据库调用

时间:2018-10-25 10:02:40

标签: javascript typescript firebase google-cloud-firestore

我有Firebase Cloud Function,我必须根据提供的ID获取更多数据,请参见以下代码:-

return admin.firestore().collection('companies').doc(snap.data().companyId).get().then((company) => {
    return admin.firestore().collection('customers').doc(snap.data().companyId).get().then((customer) => {
         console.log(company, customer);
    })
})

有没有一种方法可以组合这些调用,这样我就不必在每次需要获取数据时都对数据库进行2次调用?

这将有助于降低成本并停止拨打昂贵的电话。

此示例仅具有两个调用级别,有时可以达到三个调用,具体取决于我从云函数内部的数据库中获取的信息。

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

您不能同时查询两个不同的集合。您要么执行多个查询,要么提前将数据加入单个集合以查询包含所有数据的数据。这称为“非规范化”,在没有类似SQL的联接操作的NoSQL数据库中很常见。