【问题标题】:How to retrieve the last document in a firebase collection. I would also like to get the document fields value如何检索 Firebase 集合中的最后一个文档。我还想获取文档字段值
【发布时间】:2018-09-17 06:56:48
【问题描述】:

如何从 Cloud Firestore 集合中检索最后一个文档?我还想获取文档字段值。

这是下图:

【问题讨论】:

    标签: java android firebase google-cloud-firestore


    【解决方案1】:

    如何检索 firebase 集合中的最后一个文档?

    要解决这个问题,您需要使用如下所示的查询:

    FirebaseFirestore rootRef = FirebaseFirestore.getInstance();
    Query query = rootRef.collection("High Volume")
        .orderBy("Time", Query.Direction.DESCENDING)
        .limit(1);
    query.get().addOnCompleteListener(/* ... */);
    

    此查询将根据time 属性对结果进行排序,并将结果限制为一个。

    【讨论】:

    • 在性能方面,排序会比每个项目都有一个标志属性“isLast”更好吗?这样我们就可以查询 where isLast == true 来找到最后一个。确实,缺点是必须始终保持这样的标志是最新的。
    • @Francesco 我认为这不是一个更好的方法,因为每次新添加的文档都需要更新旧的 isLast 文档。
    • 完全同意这一点。一般来说,我想知道对数据集进行排序以获取最新条目是否(比对布尔属性的查询贵得多)以及是否还有其他可能性。
    • @Francesco 性能来自查询返回的元素数量。如果您查询数据库并使用limit(1),如果您通过返回单个元素的布尔属性查询数据库,则调用是完全相同的。
    • @Nuqo 你不能。它们之间没有继承关系。你在找什么?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-08
    • 1970-01-01
    • 2023-01-31
    • 2021-03-24
    • 2020-08-15
    相关资源
    最近更新 更多