我想知道在以下情况下,在 Firebase 中存储数据的加载时间最高效的方法是什么:
有多个文本文档,每个文档由多个段落组成,如下所示:
doc1 {
title: 'first doc',
author: 'John Doe',
creation_date: 1234567890,
paragraphs: {
p001{
text:'This is the first paragraph',
…}
p002{
text:'This is the second paragraph',
…}
}
}
如果我想显示其中一个文档,我只需获取数据快照并获取整个对象doc1
来自网络。
一旦我只想显示title
但所有文件。有没有办法排除某些孩子被加载?或者是否需要重构数据库并收集overview
对象,只包含所有文档的键和标题?
从 Firebase 数据库检索数据时,它始终返回完整的节点。因此,虽然您只能获取文档的标题(使用/documents/doc1/title
)您无法仅获取文档列表的标题。
Firebase 文档建议您不要将不同类型的数据嵌套在公共根下。原因之一正是您现在所要求的:您经常希望检索一本书的元数据而不检索其余内容。
因此,另一种(也是更常见的)数据建模方法是:
documents: {
doc1: {
title: 'first doc',
author: 'John Doe',
creation_date: 1234567890,
},
doc2: {
title: 'second doc',
author: 'nehalem',
creation_date: 1234567891,
}
},
paragraphs: {
doc1: {
p001{
text:'This is the first paragraph',
…}
p002{
text:'This is the second paragraph',
…}
},
doc2: {
p001{
text:'This is the first paragraph',
…}
p002{
text:'This is the second paragraph',
…}
}
}
现在您可以通过阅读/查询来获取显示列表的标题、作者和创建日期/documents
然后通过阅读获取特定书籍的段落/paragraphs/doc1
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)