我的用户将需要上传文件,而我的应用程序会将它们存储为base64字符串。 Firestore并未针对将大文件存储在文档中进行优化。所以我有两个选择:
将它们上传到Firebase存储
在集合中的各个文档中切片base64字符串。
它们两者都将要求我的应用程序数据保留对存储或收集ID的引用。
我的难题是:如果上传成功,则将数据发布到Firestore。但是,如果发布失败了怎么办?我将有一个任何Firestore文档都未引用的上传文件。如果我选择先发布文档然后上传文件,则会出现相同的问题。
我正在尝试做一些愚蠢的事情?我想念什么吗?我该怎么办?
您可以使用Cloud Functions使Firestore和存储保持同步。例如:
您还可以编写触发器以通过删除另一个来保持文档/文件对同步。
这里的关键是每个上载的文件都需要知道如何找到配对的文件,并且文件也必须能够找到配对的文件。唯一的ID对此有所帮助。