【问题标题】:Firebase Firestore displaying simpler URL for SubSubCollectionFirebase Firestore 显示子子集合的简单 URL
【发布时间】:2021-07-22 19:53:58
【问题描述】:

我对 SPA(单页应用程序)和 noSQL 编码非常陌生,但我对这些主题非常感兴趣!

我确实有使用 PHP、mySQL 和关系数据库的经验,当我使用 noSQL 数据库进行开发时,这让我的思维方式变得混乱。

我目前正在开发一个 web 应用程序,我在其中创建了一个名为“campaigns”的集合。 此集合有一个称为“类别”的子集合。 其中有另一个名为“notes”的子集合。

Firestore 设置如下:

 Campaigns
   campaign1
     Categories
       category1
         Notes
           note1
           note2

   campaign2
     Categories
       category1
         Notes
           note1
           note2

当我想显示 note1 时,我必须像这样创建 URL:

domain.com/campaigns/Wi8AyzYgpKCnTXvCL9SV/categories/XlsMW4a8YRoLC1t3NbWG/notes/wg5oGQIZ8EOSYdFVOIlB

这似乎有点矫枉过正。

有没有办法把它缩短成这样:

domain.com/notes/wg5oGQIZ8EOSYdFVOIlBm

我知道这可以在关系数据库中完成,但我不知道是否可以使用 Firestore 完成

【问题讨论】:

    标签: firebase google-cloud-firestore nosql


    【解决方案1】:

    一种解决方案是创建一个扁平的 notes 根集合,其中包含具有 campaigncategory 字段的所有笔记文档。

    这样你就可以直接从domain.com/notes/wg5oGQIZ8EOSYdFVOIlBm这样的url中提取文档id。如果您想查询特定广告系列或类别或特定广告系列/类别组合,只需使用 where() 查询(或 where()s 的组合)。

    就性能而言,与您的问题中描述的子集合方法相比,它没有区别:查询的执行时间取决于查询返回的文档数量。

    【讨论】:

    • 嗨@RasmusJustesen,您有时间查看建议的解决方案吗?
    猜你喜欢
    • 2020-08-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-10
    • 2020-11-21
    • 2018-11-08
    • 2018-10-21
    • 1970-01-01
    相关资源
    最近更新 更多