【问题标题】:Firestore delete all documents in a subcollectionFirestore 删除子集合中的所有文档
【发布时间】:2018-11-01 16:21:50
【问题描述】:

在我的 Cloud Firestore 设置(iOS/Swift 应用程序)中,我有一个 Post 集合和一个 Likes 子集合。 Likes 子集合有一个文档,其中包含点赞该帖子的用户的信息,其中 documentID 是点赞者的用户 ID。

当用户更新他们的帖子时,我想清除Likes 子集合(在我的应用中,用户只是更新帖子而不是创建新帖子)。

我已经读过不建议删除子集合中的每个文档,所以我想知道如何才能做到这一点。一个受欢迎的用户可能有成千上万个赞,因此将它们全部删除可能代价高昂。

据我了解,我可以使用 Cloud Functions 以某种方式完成此任务?我尝试阅读 Cloud Functions,但我迷路了。有没有办法在更新帖子时触发云函数来删除该用户 Likes 子集合中的所有文档?

【问题讨论】:

    标签: ios firebase google-cloud-firestore google-cloud-functions


    【解决方案1】:

    在 Cloud Functions 中,您只是使用 Firebase Admin SDK 来访问 Firestore。在 Cloud Functions 中运行 SDK 并没有额外的神奇 API。

    无法一次性从集合中删除所有文档,无论是在客户端 SDK 中还是在 Admin SDK 中。有关这方面的更多信息,请参阅:

    【讨论】:

    • 我知道 Admin SDK 中没有删除集合的功能,但出于性能原因,从云功能中删除是否更好?我只是想弄清楚如何以最好的方式清除我的 Likes 子集合。或者这是我应该尝试在我的数据库中更好地构建的东西
    • 没有比这更好的了。请参阅第三个链接,了解在 Cloud Functions 中执行此操作的原因。
    猜你喜欢
    • 2020-09-08
    • 1970-01-01
    • 2018-10-19
    • 2018-08-23
    相关资源
    最近更新 更多