假设我的应用程序为每个使用它的餐厅都有一个集合。每个集合的每个文档基本上都是一种食物,上面有一个到期时间戳。我需要做的是查询每个“餐馆”中的每个“食物”并删除每个“食物”,如果我从我的节点js服务器获得的当前时间超过了到期时间戳。有效的方法是什么?
答案 0 :(得分:0)
首先,您需要一个可以由cron调用的HTTP请求触发器云功能。即。 https://cron-job.org/
使用此云功能,您应该使用Admin JS SDK循环收集并获取所有文档。
您可以使用getCollections()
功能获取所有集合。请参阅https://cloud.google.com/nodejs/docs/reference/firestore/0.9.x/Firestore#getCollections
import * as admin from 'firebase-admin'
try {
admin.initializeApp(functions.config().firebase)
} catch (e) {}
const db = admin.firestore()
export const getCollections = functions.https.onRequest(async(req, res) => {
const collections = await db.getCollections()
res.status(200).send(collections.map(collection => collection.id))
})