以下是Firebase Firestore数据库中的示例集合:
rooms
|-room_1
|-messages
|-msg_1
|-msg_2
在上面的例子中,rooms
和messages
是集合。每个房间都有一个名为userAccess
的字符串数组属性。此属性包含有权访问此文件室的用户uuid的列表。每条消息都有一个seenBy
字符串数组属性,该属性保存了已看到此消息的用户的uuid列表。
挑战在于,在每次创建消息后,等待3分钟并确定有权访问此会议室但未看到此消息的用户列表。最终目标是确定每个用户的未读消息的总和,并向另一个服务器发送请求。
**我尝试了什么:**我尝试做一个cronjob,每x分钟检查一次所有用户,但随着用户数量的增加,函数的复杂性也会增加,函数失败的频率也会增加。因此,cronjob选项不是要走的路。
在Firebase Firestore中执行此类任务的正确方法是什么?
1条答案
按热度按时间xfb7svmp1#
您希望这些阵列包含多少用户?
**10?**那么您的云函数将使用except轻松解决您的问题
一千万?**在没有超时的情况下很难处理,所以我猜架构需要重新设计