【问题标题】:What is the best way to save the calendar data in Firestore?在 Firestore 中保存日历数据的最佳方法是什么?
【发布时间】:2021-08-11 20:47:03
【问题描述】:

我正在构建一个角度组件来处理自定义日历和事件。创建事件后,我将给定数据作为单个文档保存到 firestore 数据库。

文档样本:

 {
  "name" : "test event",
  "description" :"sample test event for check",
  "startdate":"8/12/2021",
  "enddate":"8/12/2021",
  "color":"#11111",
  "userid":"user1"
 }

因此,在创建每个事件时,类似的数据结构将被保存为单独的文档。我们可以过滤带有日期范围的自定义日历,还支持在单个日历中显示多个用户事件。

但是使用上面的文档结构,当我们尝试获取大量数据时,它会导致服务器的成本更高。我怎样才能按个人或其他方式组织这些数据?有人可以就此提出您的意见吗?

【问题讨论】:

    标签: javascript firebase google-cloud-firestore calendar customization


    【解决方案1】:

    这种结构应该适合用例,因为它不会达到每个文档的任何限制(在数组中存储事件可能会达到每个文档大小限制 1 MB),并且您可以轻松执行大多数查询。

    我如何以个人或其他方式组织这些数据?

    您在文档中有userid 字段,并且可以使用.where("userid", "==", curUserId) 过滤用户事件。其他方法是使用子集合:

    users -> {userId} -> events -> {eventId}
    (col)     (doc)      (col)      (doc)
    

    这样您就不必将用户的 UID 存储在每个文档中,因为它已经分组到子集合中。

    当我们尝试获取大量数据时,会导致服务器成本增加

    Firestore 费用完全取决于您的使用情况。如果您的应用程序有很多用户,那么成本会更高。

    【讨论】:

    • 谢谢。希望这适合
    猜你喜欢
    • 2018-06-16
    • 1970-01-01
    • 2020-11-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-19
    • 2015-07-13
    相关资源
    最近更新 更多