Firebase Firestore嵌套映射存储大小计算
嵌套贴图如何存储在Firestore中,以及如何确定其大小计算 比如说,我创造了这个:Firebase Firestore嵌套映射存储大小计算,firebase,google-cloud-firestore,Firebase,Google Cloud Firestore,嵌套贴图如何存储在Firestore中,以及如何确定其大小计算 比如说,我创造了这个: /Users/index (document name left, fields below) activeMonths: { '2010': { '05': true, '09': true, }, '2015': { '02': true, }, } Firestore中的这个有多大 这与类似,但它增加了围绕嵌套贴图的问题。具体来说,每年的映射是否都会产生额外的
/Users/index (document name left, fields below)
activeMonths: {
'2010': {
'05': true,
'09': true,
},
'2015': {
'02': true,
},
}
Firestore中的这个有多大
这与类似,但它增加了围绕嵌套贴图的问题。具体来说,每年的映射是否都会产生额外的32字节惩罚
我的猜测是:
- (5+1)+(5+1)+16表示/Users/索引文档名称
- (12+1)+32表示“activeMonths”映射名称的名称和32字节映射惩罚
- 2*((4+1)+32)表示两年映射名称和32个映射字节惩罚
- 3*((2+1)+1)表示三个月条目的名称和布尔值
我希望前面有一些更复杂的例子来回答此类问题。关于Firestore的数据模型,提供了一个示例,如下所示:
doc:
first : "Ada"
last : "Lovelace"
born : 1815
map:
name :
first : "Ada"
last : "Lovelace"
born : 1815
创建文档/地图时,您可以向其中添加字段,并且可以选择地图以实现与上述结构类似的结构。以下是Firestore控制台的地图示例:
至于地图的大小,其他地址在地图中的大小,您的计算似乎是正确的:您考虑到了这一点,其中它的名称、字段的字符串名称、字段值和32个附加字节都被考虑在内。参考Firestore的数据模型,提供了一个,如下所示:
doc:
first : "Ada"
last : "Lovelace"
born : 1815
map:
name :
first : "Ada"
last : "Lovelace"
born : 1815
创建文档/地图时,您可以向其中添加字段,并且可以选择地图以实现与上述结构类似的结构。以下是Firestore控制台的地图示例:
至于地图的大小,其他地址在地图中的大小,您的计算似乎是正确的:您考虑到了这一点,其中它的名称、字段的字符串名称、字段值和32个附加字节都被考虑在内。在我将您的答案标记为正确答案之前,那么,您能否确认“顶级”映射和“嵌套”映射之间没有区别?我本可以将两个“年”映射作为文档的直接字段向上移动,而将“活动月”映射作为空映射,并且所有大小计算将保持不变?考虑到
2010
和2015
映射仍将被视为映射字段,我相信存储大小将保持不变,只是不再在activeMonths
地图下。如果要这样做,您可以删除activeMonths
映射并节省一点存储空间(12+1+32=45字节),但这取决于许多因素,如您的用例、您是否计划在文档下有其他不同的字段等。在我将您的答案标记为正确答案之前,那么,您能否确认“顶级”映射和“嵌套”映射之间没有区别?我本可以将两个“年”映射作为文档的直接字段向上移动,而将“活动月”映射作为空映射,并且所有大小计算将保持不变?考虑到2010
和2015
映射仍将被视为映射字段,我相信存储大小将保持不变,只是不再在activeMonths
地图下。如果要这样做,您可以删除activeMonths
映射并节省一点存储空间(12+1+32=45字节),但这取决于许多因素,如您的用例、是否计划在文档下使用其他不同的字段等。