构建 Firestore:我是否应该创建另一个 collection 来存储所做的更改?

Structuring the Firestore: Should I make another collection to store the changes that were made?

我正在使用 Reactjs 和 Firestore。

我有这个 products 的 collection:

colorMap是一个map,下面是不同的颜色和数量。

现在,我想在添加产品时创建列表或历史记录,并且每当添加这些颜色的数量更多时。

我是否应该添加另一个 collection 以便在添加产品时或每当在 color 中添加数量时存储?我也在考虑添加 createdDate 或者还有其他方法可以做到这一点吗?尽可能不使用任何云功能。

保存每个文档历史记录的一种常见方法是在该文档下创建一个子集合(比如 history),并为您执行的每次更新编写一个包含完整旧文档数据的新文档,或仅包含已修改字段的旧值的新文档。

虽然从 Cloud Functions 中执行此操作很方便,因为它们已经获得了每个文档写入的先前数据和新数据,但您也可以通过 client-side 代码完成相同的操作。