使用Firebase同步目录结构,而忽略内容,同时保留层次结构

时间:2018-11-20 12:56:21

标签: javascript firebase firebase-realtime-database synchronization

我正在尝试编写一个小型电子应用程序,该应用程序将某个文件夹的目录结构与Firebase同步,而忽略了实际内容。并且在用户重命名,删除或移动子代时努力设计低头的策略。

我要为模式使用类似的东西

contenst = {
    f1 : {
        name : 'Folder 1',
        type : 'dir',
        parent : null
    },
    f2 : {
        name : 'cat.jpg',
        type : 'file',
        parent : 'f1'
    },
    f3 : {
        name : 'Subfolder a',
        type : 'dir',
        parent : 'f1'
    },
    f4 : {
        name : 'dog.jpg',
        type : 'file',
        parent : 'f3' 
    }
}

这是上述目录结构的简单形式。

+-- Folder1
    |-- cat.jpg
    +-- Subfoler_a
        |--dog.jpg

现在每次启动应用程序时,我都必须重新同步目录结构,同时保持带宽使用率尽可能低。

当然,我可以读取整个目录并用它覆盖服务器一个目录,但是如果有成千上万个文件,这将是非常昂贵的。

我无法使用任何文件监视程序,因为如果应用程序关闭,那将无法正常工作。

一种解决方案是下载服务器存储的快照,并使用本地结构计算差异。这又意味着要下载整个树。

有没有更好的解决方案。

从问题标题可以明显看出,我只需要同步结构即可。文件内容无关紧要。

0 个答案:

没有答案