Firebase Firestore:查询尚未查看的随机文档

Firebase Firestore:查询尚未查看的随机文档,firebase,google-cloud-firestore,Firebase,Google Cloud Firestore,我有一个Firestore数据库,在那里我有一个用户集合和动物集合(用户可以随时创建这些动物)。对于一个特定的用户,我想抓取一个用户还没有看到的随机动物文档 我认为不可能在Firestore中查询不存在的密钥,这使得这个问题对我来说非常重要。有没有比为每个用户提供一个包含所有动物ID的字典更好的方法?我对这种方法的问题是可伸缩性,因为动物可以由用户创建,因此每个用户的动物词典都必须根据新动物进行更新 提前谢谢你的帮助 对于返回单个文档的单个查询,您将无法做到这一点 Firestore查询中没有随

我有一个Firestore数据库,在那里我有一个用户集合和动物集合(用户可以随时创建这些动物)。对于一个特定的用户,我想抓取一个用户还没有看到的随机动物文档

我认为不可能在Firestore中查询不存在的密钥,这使得这个问题对我来说非常重要。有没有比为每个用户提供一个包含所有动物ID的字典更好的方法?我对这种方法的问题是可伸缩性,因为动物可以由用户创建,因此每个用户的动物词典都必须根据新动物进行更新


提前谢谢你的帮助

对于返回单个文档的单个查询,您将无法做到这一点

Firestore查询中没有随机性。如果您想要一些随机的东西,您必须在代码中从内存中的一组项中选择它。这意味着,至少,您必须首先找出如何查询用户尚未看到的所有动物,然后从应用程序代码中的集合中随机选择

假设您需要某种类型的集合来记录谁见过什么动物,然后查询一个看不见的动物列表,这是正确的。然后,您可以从中随机选择最终的动物文档


a为了做到这一点,您需要另一个文档集合,记录谁以前见过什么动物。

希望此链接对您有所帮助: