【问题标题】:Firebase Firestore return QuerySnapshotFirebase Firestore 返回 QuerySnapshot
【发布时间】:2020-11-09 10:53:28
【问题描述】:

我刚开始使用 firebase 云函数和 firestore,但是当我在 firebase 云函数中使用 firestore(如下代码)时,它返回和 QuerySnapshot,而不是返回数据。如果有人以前遇到过这个问题并且已经解决了,请告诉我。它也将帮助我解决这个问题。

谢谢。

export async function allRestaurants(req: Request, res: Response) {
  try {
    // const { id } = req.params
    const restaurantsRef = admin.firestore().collection('restaurants');
    const snapshot = await restaurantsRef.get();

    console.log(">>>>>>>>>", snapshot);
    return res.status(200).send({ data: { restaurants: snapshot } })
  } catch (err) {
    return handleError(res, err)
  }
}

【问题讨论】:

    标签: javascript node.js firebase google-cloud-firestore google-cloud-functions


    【解决方案1】:

    得到QuerySnapshot 是正常的,因为get() 方法返回一个用QuerySnapshot 解析的Promise。

    您可以自行生成要发送回 Cloud Function 使用者的内容。

    例如,您可以使用forEach() 方法循环遍历QuerySnapshot,或者如下所示,使用docs 数组。

    export async function allRestaurants(req: Request, res: Response) {
      try {
        // const { id } = req.params
        const restaurantsRef = admin.firestore().collection('restaurants');
        const snapshot = await restaurantsRef.get();
    
        const responseContent = snapshot.docs.map(doc => doc.data());
    
        return res.status(200).send({ data: { restaurants: responseContent } })
      } catch (err) {
        return handleError(res, err)
      }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-08-23
      • 1970-01-01
      • 1970-01-01
      • 2020-10-24
      • 1970-01-01
      • 2020-03-21
      • 1970-01-01
      • 2020-06-26
      相关资源
      最近更新 更多