我有类似社交媒体应用程序的东西,具有复杂的写操作,例如关注请求。
Firestore规则如此编写,以至没有人可以向我的数据库中写入内容。
立即,如果有人要关注用户,则客户端会使用uid参数调用云函数,然后该云函数将执行带有事务写操作的事务。
之所以这样做,是因为可以随时修改交易,因此不需要客户端更新。
所以我的问题:对我的应用程序中的所有写入操作都使用Cloud Functions不好吗?
答案 0 :(得分:0)
使用Cloud Functions进行应用程序中的所有写入操作是否很糟糕?
从定义上讲这还不错,但从定义上讲也不错。这都取决于您的用例和实现。
需要考虑的几件事:
您的数据变量器的安全规则现在基本上已编码在您的Cloud Functions中。那么您的云功能是否安全?您确定只有授权用户才能打电话给他们吗?
您是否考虑过让客户将他们的“关注此用户”请求写入Cloud Firestore中的特殊“客户请求”集合?您可以让Cloud Functions监视器对该集合进行写操作,并带有其优点。
例如:由于在这种情况下客户端写入Firestore,因此其脱机操作不会在其脱机时失败,而是在它们重新联机时发送到服务器(并在那里进行处理)。在当前情况下,您必须自己实施此类重试逻辑。