【问题标题】:Firestore: Query random document that has not been seen yetFirestore:查询尚未见过的随机文档
【发布时间】:2018-05-10 15:50:57
【问题描述】:

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

我不相信在 Firestore 中查询不存在的密钥是可能的,这让这个问题对我来说不是微不足道的。有没有比为每个用户拥有一本包含所有动物 ID 的字典更好的方法呢?我对这种方法的问题是可扩展性,因为动物可以由用户创建,因此每个用户的动物字典都必须针对每个新动物进行更新。

提前感谢您的帮助!

【问题讨论】:

标签: firebase google-cloud-firestore


【解决方案1】:

您将无法使用返回单个文档的单个查询来执行此操作。

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

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

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

【讨论】:

    猜你喜欢
    • 2020-08-10
    • 2021-07-02
    • 2018-06-06
    • 2022-01-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多