在我的 Cloud Firestore 设置(iOS/Swift 应用程序)中,我有一个 Post
集合和一个 Likes
子集合。 Likes
子集合有一个文档,其中包含喜欢该帖子的用户的信息,文档 ID 是点赞者的用户 ID。
当用户更新他们的帖子时,我想清除 Likes
子集合(在我的应用中,用户只是更新帖子而不是创建新帖子)。
我读到不建议删除子集合中的每个文档,所以我想知道如何才能做到这一点。一个受欢迎的用户可能有成千上万的点赞,因此将它们全部删除可能代价高昂。
据我了解,我可以使用 Cloud Functions 以某种方式完成此操作?我试着阅读 Cloud Functions,但我迷路了。有没有一种方法可以触发 Cloud Function 来删除该用户更新帖子后 Likes
子集合中的所有文档?
最佳答案
在 Cloud Functions 中,您只需使用 Firebase Admin SDK 访问 Firestore。在 Cloud Functions 中运行该 SDK 不会获得神奇的额外 API。
无论是在客户端 SDK 还是在 Admin SDK 中,都无法一次性删除集合中的所有文档。有关更多信息,请参阅:
- > Deleting all documents in Firestore collection
- > Why "single bulk" delete collection in Cloud Firestore is not possible like it is with Realtime Database? (这也说明了原因)
- > Delete firestore collection (指向使用 Cloud Functions 作为自定义 API 端点)
关于ios - Firestore 删除子集合中的所有文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50475471/