引用firestore集合中的最后一个文档

du7egjpx  于 2021-08-20  发布在  Java
关注(0)|答案(1)|浏览(334)

我最近了解到,我们实际上可以设置fieldvalue来引用文档。但我真正好奇的是,是否也可以参考收藏的最后一份文件。
例如,我有一个如下所示的数据结构:

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)。
那么有可能吗??

nfg76nw0

nfg76nw01#

在firestore中,不可能让字段引用集合的最后一个字段,并自动更新该引用,使其始终指向最后一个字段。
我建议您在需要时进行查询以获取最后一个文档引用。但是,如果您想这样做,作为一种解决方法,您可以自己更新字段,有几种方法:
每次向要使用更新查询引用的集合添加新字段时,都会从代码中更新该字段。
使用 onCreateonWrite 每次更改集合时更新引用字段的触发器。请注意,这种方法虽然是最可靠的,但如果您必须频繁更新该字段,它可能会非常昂贵。
您可以看一看这段视频,它解释了firestore中使用的参考字段。

相关问题