【发布时间】:2019-10-10 11:11:55
【问题描述】:
在 Firestore 中存储多态对象的最佳方式是什么?
示例:假设一个“基础”对象,其他三个从它继承。我想将特定对象全部存储在同一个集合中。例如,firestore 能否理解具有可能存在于一个文档中而不存在于另一个文档中的字段索引的查询?
结构是:
BaseObject
A extends BaseObject
B extends BaseObject
C extends BaseObject
所以我想把 A、B 和 C 存储在同一个集合中,并根据超类中的“类型”属性进行转换......
所以在查询的时候,我只想知道类型和转换。但是,我真的不知道firestore是否支持创建一个或多个索引来执行查询是否某个属性存在于一个或多个文档中。
有可能吗?
【问题讨论】:
-
是的,我觉得你的方法听起来很可能。您只需要自己读取类型字段并在回读时实例化正确的子类,因为 Firebase SDK 对该字段的含义一无所知。我建议您试一试,如果遇到更具体的问题,请及时报告。
标签: firebase google-cloud-firestore