【问题标题】:Reference last document in a Firestore Collection参考 Firestore 集合中的最后一个文档
【发布时间】:2021-07-04 14:35:42
【问题描述】:

我最近了解到,我们实际上可以设置 FieldValue 来引用文档。但我真正好奇的是,是否也可以引用 Collection 的最后一个文档。

例如,我有一个如下所示的数据结构:

Chat
    CHAT_ID
        last : (Reference To the Last Document in the "Messages" Collection)

Messages
    MSG_ID_001
       msg : Some Message
    MSG_ID_002
       msg : Some Message
    MSG_ID_003
       msg : Some Message
    

所以现在我想设置引用,使其始终引用消息集合中的最后一个文档(在本例中为 MSG_ID_003)。

那么有可能吗??

【问题讨论】:

  • 我正在调查您的问题,发现this 帖子,如果您有某种方法对数据进行排序,您应该可以做类似的事情,如果它适合您,请告诉我。
  • 我知道我可以通过这种方式查询数据库。但不是从用户端更新它,我希望引用自动获取最后一个文档的引用。我想在不创建 firebase 功能的情况下做到这一点。 @LluisMuñoz

标签: java google-cloud-firestore


【解决方案1】:

让一个字段引用集合的最后一个字段,并自动更新该引用使其始终指向最后一个字段,这在 Firestore 中是不可能的。

我建议您在需要时只进行查询以获取最后的文档参考。但如果你想这样做,作为一种解决方法,你可以自己更新字段,有几种方法可以做到:

  • 每次将新字段添加到要通过更新查询引用的集合时,都从代码中更新它。
  • 使用onCreateonWrite 触发器创建云函数以在每次对集合进行更改时更新引用字段。请注意,这种方法虽然最可靠,但如果您必须经常更新该字段,可能会非常昂贵。

您可以观看 this 视频,该视频解释了 Firestore 中使用的参考字段。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-06-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-16
    • 1970-01-01
    • 2021-03-25
    相关资源
    最近更新 更多