Firebase Firestore return QuerySnapshot



我刚开始玩firebase云函数和firestore,但当我在firebase云功能中使用firestore时(如下代码所示(,它是return和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)
}
}

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

由您生成要发送回云功能消费者的内容。

例如,可以使用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)
}
}

相关内容

  • 没有找到相关文章

最新更新