繁体   English   中英

具有 flutter 共享待办事项列表的 Firestore 使用数组或集合

[英]Firestore with flutter shared todo list use array or collection

我正在使用 flutter 创建一个共享待办事项列表/清单应用程序,并为我使用 Firestore 的数据库创建一个。 用户属于一个组,每个组都有一个待办事项列表。 每个待办事项列表都包含待办事项。

截至目前,待办事项列表是一个文档,其中包含带有待办事项的文档列表。 例如,如果待办事项列表包含 50 个待办事项,则当用户打开待办事项列表时,我将按 50 次文档阅读收费。 用户还订阅快照以更改任何待办事项。 每次更改都将作为更新和阅读收费。

我担心的是,每次打开待办事项列表时,最初的 50 个文档读取量会太多。 我正在考虑制作一个带有数组属性的待办事项列表文档或一个包含待办事项的平面列表。 当待办事项列表打开时,我将只收取阅读 1 篇文档的费用。 但是这个列表也是实时的,我现在的问题是这是什么意思? 待办事项列表文件会再次下载 50 个项目,还是只会将更改下载到数组中? 我对这种方法的担忧是,即使对单个待办事项进行简单更改,用户也会下载太多数据,或者我错了吗? 有人知道更好的方法还是我做出这些权衡?

此外,用户在单个列表中被限制为 100 个待办事项。

您可以尝试使用两者之间的混合体——也就是说,有一个包含 TodoListItems 集合的 TodoList 文档,并且该文档可以包含多个项目,假设您将在其中保存 30 个项目,并在 31 号item 您将创建一个新的 TodoListItems 文档并开始填充它。

这样您就不会因为 TodoList 中有 50 个项目而为 50 个文档付费,在这个示例中每个文档有 30 个项目,您将被收取 2 个的费用。

我认为这样您就可以拥有大于 1MB 限制的列表,但不会产生每个项目的单个文档的成本。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM