汽车有品牌。因此,许多汽车都有相同的品牌。 如何将此对象映射到 Firestore 中存储?最好的做法是什么?
我们需要认为品牌可以改变,所以我们只需要改变品牌一次就可以影响所有的汽车。
Car {
String carName;
Brand brand;
}
Brand {
String brandName;
}
那么,将 Car 存储在 Firestore 文档(无 SQL)上的最佳选择是什么? 我认为最好的选择是 2,那么从 firestore 读取数据时是否有任何最佳实践方法可以提高性能?
- Document Car 1:
Car {
carName: "Corolla"
brand: {
brandName: "Toyota"
}
}
- Document Car 2:
Car {
carName: "Land Cruiser"
brand: {
brandName: "Toyota"
}
}
因此,“丰田”品牌将在所有带有该品牌的汽车中重复。
- Document Car 1:
Car {
carName: "Corolla"
brand: "abcd-efgh-brand-code"
}
- Document Car 2:
Car {
carName: "Land Cruiser"
brand: "abcd-efgh-brand-code"
}
- Document Brand:
Brand {
documentId: "abcd-efgh-brand-code"
brand: "Toyota"
}
涉及避免重复数据。
看,对于你的问题,两种技术大约分配相同的磁盘空间因为品牌只包含一个字段(不保证将来仍然有一个字段),但使用参考技术肯定会防止数据重复并允许轻松品牌-更新所有文档。
所以将来,更改一个文档(品牌)将被所有文档(汽车)监听,并且在品牌文档中添加更多字段将节省更多空间。继续使用参考文档!