javascript - 从 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 个文件运行良好,但是当我通过该数量的文件时,它开始跳过一些文件。
解决方案
首先,您需要为查询定义排序顺序。如果您希望按该顺序排列最后 10 个文档,则应反转排序顺序。如果您希望最后 10 个按 field 排序createdAt
,则应定义如下排序顺序:
firebase.firestore()
.collection("posts")
.orderBy("createdAt", "desc")
.limit(10)
"desc" 将反转默认排序顺序,使它们从最大到最低排序。
我建议查看有关订购和限制数据的文档以了解更多信息。
推荐阅读
- matplotlib - %matplotlib notebookright 侧未显示
- javascript - 我对如何仅使用 javaScript 编写 switch case 而不是 if 条件感到困惑
- css - 通过伪元素在css文件中使用图标
- git - Git看到由于不同的变音符号编码而我无法访问的文件的文件更改?
- python-3.x - service.files().update() 每次在 python Google drive API 中返回 http 500 错误
- ruby - Ruby OOP - 实例方法
- java - 如何将数据从 Java 发送到 SQLite DB?
- c++ - 如何解决“C2660 'SWidget::Construct':函数不接受 1 个参数”?
- javascript - 对话窗口的优先级高于 DOM 元素
- javascript - 如何在 Cypress 中的特定行上查找元素