我有一个Firestore数据库,我有一个Users集合和Animals集合(这些动物可以由用户随时创建)。对于特定用户,我想抓取用户尚未看到的随机动物文档。
我不相信可以在Firestore中查询不存在的密钥,这使得这个问题对我来说非常重要。有没有更好的方法来为每个用户提供所有动物ID的字典?我对这种方法的问题是可扩展性,因为动物可以由用户创建,因此每个用户的动物词典都必须根据新动物进行更新。
提前感谢您的帮助!
答案 0 :(得分:1)
您无法通过返回单个文档的单个查询来执行此操作。
Firestore查询中没有任何随机性。如果你想要随机的东西,你必须从你的代码中选择内存中的一组项目。这意味着,至少,您必须首先弄清楚如何查询用户尚未看到的所有动物,然后从应用程序代码中的该组中随机选择。
你是正确的,假设你需要某种收集来记录谁看过什么动物,然后查询那些看不见的动物。然后你可以从中随机选择最终的动物文件。
为了做到这一点,你需要另外一组文件来记录谁曾见过以前的动物。