发送反馈
使用集合让一切井井有条
根据您的偏好保存内容并对其进行分类。
设计数据结构
请注意,在 Firestore 中设计数据结构时,您可以使用几种不同的方案:
请根据您的使用场景考虑每种选项的优势。本指南概述了分层数据的一些示例结构。
文档中的嵌套数据
您可以在文档中嵌套复杂的对象,例如数组(映射)。
优点 :如果您想在文档中保存简单的固定数据列表,可使用此选项,它易于设置,而且可简化数据结构。
限制 :
此方案的可扩缩性不如其他方案,特别是数据会随时间不断增加的情况。如果列表较大或者越来越大,文档也会变大,这可能导致文档检索时间增加。
此方案适用于哪些使用场景? 例如,在聊天应用中,您可以将用户最近进入的 3 个聊天室作为嵌套列表存储在其个人资料中。
class alovelace
name :
first : "Ada"
last : "Lovelace"
born : 1815
rooms :
0 : "Software Chat"
1 : "Famous Figures"
2 : "Famous SWEs"
子集合
如果您的数据可能会随着时间的推移而增加,您可以在文档中创建集合。
优点 :当您的列表变大时,父文档的大小不会改变。您还可以获得对子集合的完整查询功能,并且可以跨子集合发出集合组查询 。
限制 :您无法轻松删除子集合。
此方案适用于哪些使用场景? 例如,在前述聊天应用中,您可以在聊天室文档中为用户或消息创建集合。
collections_bookmark science
class software
name : "software chat"
collections_bookmark
users
class
alovelace
first : "Ada"
last : "Lovelace"
class
sride
first : "Sally"
last : "Ride"`
class astrophysics
根级集合
在数据库的根级别上创建集合,以整理不同的数据集。
优点 :根级集合适合多对多关系,并在每个集合内提供强大的查询功能。
限制 :随着数据库增大,获取自然分层的数据可能会变得越来越复杂。
此方案适用于哪些使用场景? 例如,在前述聊天应用中,您可以为用户创建一个集合,为聊天室和消息创建另一个集合。
collections_bookmark
users
class alovelace
first : "Ada"
last : "Lovelace"
出生日期:1815 年
class sride
first : "Sally"
last : "Ride"
born : 1951
collections_bookmark rooms
class software
collections_bookmark
messages
class
message1
from : "alovelace"
content : "..."
class
message2
from : "sride"
content : "..."
视频
如需了解详情,请观看以下视频:
发送反馈
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可 获得了许可,并且代码示例已根据 Apache 2.0 许可 获得了许可。有关详情,请参阅 Google 开发者网站政策 。Java 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2024-01-31。
需要向我们提供更多信息?
[[["易于理解","easyToUnderstand","thumb-up"],["解决了我的问题","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["翻译问题","translationIssue","thumb-down"],["其他","otherDown","thumb-down"]],["最后更新时间 (UTC):2024-01-31。"],[],[]]