快速检查Firebase数据库中的数据结构

时间:2017-11-23 21:32:57

标签: data-structures firebase-realtime-database nosql data-modeling

我对firebase很新。我一直在阅读帖子并观看有关firebase的一些数据建模教程。一般建议总是:

  

在许多地方保存重复的数据。这样,随着查询语法的限制,阅读速度会很快。节省会更贵,但很少发生。

这种观点很有意义,我可以随时了解它。话虽这么说,我想请你快速检查一下我是否想要使用正确的数据结构。我有一些mongoDB的经验,它有数据库引用,不存在于firebase中。重复复制数据感觉很奇怪。我猜它也是SQL的祖先,但谁知道呢。

我试图为未来的多用户应用创建某种样板。 Prequisites:

  • 每个文档都有一位作者
  • 每个文档可以有多个成员
  • 每个用户都可以是无限数量的文件
  • 公开文档可公开访问,私人文档只能由成员访问

这是我想出的内容的示意图。三个点意味着兄弟姐妹是可能的。

users: {
    *userUID*: {
        uid: *userUID*
        name: User One
        bio: Lorem ipsum
        birthdate: 01-01-2000
        ownedDocuments: {
            *documentUID*: {
                uid: *documentUID*
                title: Document title
                coverImage: imageUrl
                status: private
                membersCount: 3
            }
            ...
        }
        documents: {
            *documentUID*: {
                uid: *documentUID*
                title: Document title
                coverImage: imageUrl
                status: private
            }
            ...
        }
    }
    ...
}

documents: {
    *documentUID* {
        uid: *documentUID*
        title: Document title
        coverImage: imageUrl
        status: private
        membersCount: 3
        author: {
            uid: *userUID*
            name: User One
        }
        members: {
            *userUID*
                uid: *userUID*
                name: User One
            ...
        }
    }
    ...
}

正如我之前所说 - 感觉错误可能是因为我在SQL中习惯了。因此,如果这是(或多或少)有效的方法,那么我会很高兴听到它。当然,如果它错了,有任何评论/优化/任何我喜欢阅读它。

谢谢

0 个答案:

没有答案