首页 > 解决方案 > 从 firestore 获取最后 10 个文件

问题描述

我正在尝试获取在 Firestore 上创建的最后十个文档。我尝试了一切,例如:

firebase.firestore()
    .collection("posts")
    .where("createdAt", "<=", new Date().getTime())
    .limit(10)

或者

firebase.firestore()
    .collection("posts")
    .orderBy("createdAt")
    .limit(10)

但不是返回最后 10 个,而是返回前 10 个。然后我尝试了

firebase.firestore()
    .collection("posts")
    .limit(10)

它对前 11 个文件运行良好,但是当我通过该数量的文件时,它开始跳过一些文件。

标签: javascriptnode.jsfirebasegoogle-cloud-firestore

解决方案


首先,您需要为查询定义排序顺序。如果您希望按该顺序排列最后 10 个文档,则应反转排序顺序。如果您希望最后 10 个按 field 排序createdAt,则应定义如下排序顺序:

firebase.firestore()
    .collection("posts")
    .orderBy("createdAt", "desc")
    .limit(10)

"desc" 将反转默认排序顺序,使它们从最大到最低排序。

我建议查看有关订购和限制数据的文档以了解更多信息。


推荐阅读