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

时间:2018-05-10 15:50:58

标签: firebase google-cloud-firestore

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

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

提前感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

您无法通过返回单个文档的单个查询来执行此操作。

Firestore查询中没有任何随机性。如果你想要随机的东西,你必须从你的代码中选择内存中的一组项目。这意味着,至少,您必须首先弄清楚如何查询用户尚未看到的所有动物,然后从应用程序代码中的该组中随机选择。

你是正确的,假设你需要某种收集来记录谁看过什么动物,然后查询那些看不见的动物。然后你可以从中随机选择最终的动物文件。

为了做到这一点,你需要另外一组文件来记录谁曾见过以前的动物。