我在Firebase数据库节点中存储了Firestore文档ID,并且如果Firestore中引用的文档不存在,则Firebase数据库中的安全规则仅需要删除和ID。有什么办法吗?如果没有,是否可以从Firebase数据库规则中调用函数来检查ID是否引用了Firestore中的现有文档并返回值?
hajunpeng 回答:Firebase实时数据库安全规则中检查Firestore文档是否存在的方法?
不,您不能。安全规则无权访问Firestore,并且Firebase Functions具有onDelete
触发器,但在数据库中已实现更改后才执行安全规则。
您没有说要从何处访问数据库(Web或应用程序),但是您可以使用要删除的文档ID调用云函数,然后云函数可以检查ID引用的数据是否存在,以及如果没有,则从firestore集合中删除ID。
您还可以在云功能中添加所需的任何其他逻辑。
https://firebase.google.com/docs/functions/get-started
另外
https://firebase.google.com/docs/firestore/extend-with-functions
讨论如何使用云功能扩展Firestore功能。