The official solution is here.
In case of using Cloud Functions to trigger from an onCreate event, what will you create? Create File on Cloud Storage or create Firestore Document?
I think that in case of using Cloud Functions you should use PubSub trigger.
I recommend asynchronous architecture like Pub/Sub. Because rerun is easy and the scope of influence is limited.
I developed sample is here. I'm using Cloud Scheduler not . The cost of Cloud Scheduler is here.cron.yaml
Depending on the complexity of your joins and tables it might not be worth the transition. It will also get very expensive if you have complex joins it'll count for a query. Also, it's not a very common problem but I actually hit my query limit with Firestore and it was a small inconvenience because I was doing thousands of queries per second. I actually ended up switching to CloudSQL for that particular project to remain serverless and be more cost effective. Not trying to unsell you from Firestore because it's a great product but just depends on how many queries you're expecting and how many joins you would need to do. Also, what your time would be worth to transition and restructure your code.