无法从firebase中的多个集合中删除一个项目



我在firebase中有两个集合,比如A和B。当我将一个项目添加到其中一个集合(比如A(时,它会自动添加到另一个集合B。但当我从集合A中删除一个项目时,它仍保留在另一个收藏B中。

从火球控制台拍摄

当我从集合A中删除一个项目时,它会保留在另一个集合B中。

我不知道如何删除两个集合中的项目?

请帮忙。

这不是关系数据库。级联更新/删除在关系数据库中是可能的,如Sql、Postgresql、Firebird。。。在无SQL中,一个文档与另一个文档之间没有任何关系。更重要的是,希望将一些数据克隆到两个或多个文档中,而不是为其创建一个单独的文档

但也许你可以通过使用引用类型来实现你想要的?我播种一两次,检查一下可能是个好主意。但无论描述如何,它只是一个有路径/引用的字段,这里没有魔法。

官方文件:

如果在删除父文档时要删除子集合中的文档,则必须手动执行,如删除集合中所示。

所以你要么想重新思考DB模型,要么必须手动跟踪你想要删除的每个wlement。

有两种方法可以做到这一点:

从客户端使用批处理写入(更多信息请点击此处(

DocumentReference doc_1_reference = firestore.collection("messages").document(doc_1_uid);
DocumentReference doc_2_reference = firestore.collection("messages").document(doc_2_uid);
final batchWrite = firestore.batch();
batchWrite.delete(doc_1_reference);
batchWrite.delete(doc_2_reference);
await batchWrite.commit();

通过向文档添加删除触发器来使用Cloud功能,并在触发时执行其他文档的删除。考虑到你必须知道你应该删除哪个文档,这并不难做到(在这里阅读(

相关内容

  • 没有找到相关文章

最新更新