【问题标题】:Firestore data structure for medium post中等帖子的 Firestore 数据结构
【发布时间】:2018-09-23 15:34:01
【问题描述】:

我想建立一个类似中型的帖子结构模型,其中包含交替的段落和照片。

[标题]

[子标题]

[主图]

[第 1 段]

[第 2 段]

[照片 1]

[第 3 段]

[照片 2]

[照片 3]

...

为了保持段落和照片的顺序,我正在考虑使用对象数组对帖子进行建模,如下所示:

帖子(收藏)

  • postId(文档)
    • 内容:(数组)
      • 标题:字符串(对象)
      • 子标题:字符串(对象)
      • mainPhotoURL:字符串(对象)
      • 段落:字符串(对象)
      • 段落:字符串(对象)
      • photoURL:字符串(对象)
      • 段落:字符串(对象)
      • ...

对此想法有何评论?还有其他数据结构建议吗?谢谢。

【问题讨论】:

    标签: data-structures google-cloud-firestore


    【解决方案1】:

    Firestore 文档的大小限制为 1MB。数组不可扩展,添加/删除非常昂贵,并且尚未在所有管理 SDK 中可用。每个内容都应该有它自己的文档。 就像。

    postId(文档)

    标题:字符串(对象)

    子标题:字符串(对象)

    mainPhotoURL:字符串(对象)

    段落:字符串(对象)

    段落:字符串(对象)

    照片URL:字符串(对象)

    段落:字符串(对象)

    ...

    【讨论】:

    • 如何跟踪段落和照片URL的顺序?
    • 我现在有一个名为“内容”的子集合作为发布文档的字段,在“内容”子集合中,我存储内容元素,例如段落(字符串)或照片URL(字符串)在单独的文档中,但为了保持顺序,我必须在每个文档中添加 'order' 字段,以便稍后使用 orderBy('order') 查询以获得这些内容元素的正确顺序。这是一种合适的做法吗?
    • 只需引用集合并在任何字段上添加查询“orderBy”。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-09-18
    • 2011-06-08
    • 2021-10-23
    • 1970-01-01
    • 2019-11-01
    • 2019-02-25
    • 2022-09-30
    相关资源
    最近更新 更多