firebase 如何为包含特定键的Firestore文档定义路径?

axzmvihb  于 2023-02-13  发布在  其他
关注(0)|答案(2)|浏览(92)

我正在尝试使用Firestore的新扩展来删除所有用户数据。
他们的示例文档说明如下:
Cloud Firestore示例中的哪些路径包含用户数据?如果不使用Cloud Firestore,请留空。输入完整路径,以逗号分隔。您可以使用{UID}表示已删除用户的用户ID。例如,如果您有集合users和admins,并且每个集合都有以用户ID作为文档ID的文档,则您可以输入users/{UID}、admins/{UID}。
但是,我需要删除的真实的数据在其他集合中,其中外键等价物是用户ID。例如,我希望从userID =特定{UID}的learnTransactions集合中删除这些值。

czfnxgou

czfnxgou1#

使用"Delete User Data" extension时,无法根据文档的某个字段值删除文档。
正如您将在实现扩展的Cloud Function的源代码中看到的,文档是根据其路径选择的,而不是使用where查询。
您可以派生扩展Cloud Function的代码以适应您的情况并部署您自己的Clown Function。

kqlmhetl

kqlmhetl2#

是的,你实际上可以使用它们的字段删除其他集合。下面是我如何使用一个名为posts的集合来完成的。配置扩展时,在“Cloud Firestore路径(可选)”部分输入. Users/{UID},posts/{UID}。
向下滚动到“启用自动发现”部分,并将其设置为“是”。
然后向下滚动到“自动发现搜索字段(可选)”部分并添加“uid”。现在,当您删除用户时,该集合中uid字段与已删除用户ID匹配的文档也将被删除。
请确保在创建这些文档时将所述字段和uid添加到这些文档中,以便扩展有效。
如果你想让它与子集合一起工作。设置“自动发现搜索深度”为10,并添加相同的字段和到这些文档。

相关问题