FIRESTORE:是否可以在不同的子集合上具有重复的自动生成ID



我有一家商店的集合,每个商店都有一个物品的子集合。项目文档具有属性isAvailable,即布尔值。

然后,我需要将物品放入用户的购物车中。重要的是要观察项目isAvailable值,以实时告知一个项目不再可用,并从所有购物车中自动删除。

因此,我决定在项目对象中放置一个用户ID的数组,并在DB的根级别创建所有对象的重复列表以模拟可观察的购物车(我认为这是为此目的构造的好方法,如果你有更好的想法告诉我(。

我的问题是:由于我复制了一个集合中的所有子汇编并使用相同的文档ID,因此最终的大型集合中可能有重复的内容,对吗?

简而言之,自动生成的ID在统计上是唯一的,并且有足够的可能性可以一直考虑。请参阅此处。

在Firestore中,基于时间的计算已被删除,因此与实时数据库相比,ID不再是按时间顺序的。

关于您的数据结构,我不建议复制,因为Firestore的好处之一是避免这种情况,而不是实时数据库,在某些情况下,您需要这样做。

还避免了尽可能多的数组并使用对象而不是您可以查询它们。

我了解,您只想确保这些物品可用。我建议您在用户要继续结帐或任何时候刷新页面时进行检查,这样您就可以确保购买不可用的产品。就是这样。

如果您仍然有问题,也许会给我数据的快照,而不是解释,类似店面散布 - itemDocument - 可笑:true

最新更新