我想在Firebase中获得集合的最后25个元素



最近我用react + firebase建立了一个聊天应用程序,但是有些东西不太正常。

我能够发送消息并将它们存储在firebase数据库中。现在问题来了:它只显示了存储的前25条消息。

下面是有问题的代码部分:

const messagesRef = firestore.collection("messages");
const query = messagesRef.orderBy("createdAt").limit(25);

是否有办法从最后25条消息的底部开始?使用"desc"也不工作,因为它显示的数据从最后一条消息开始在顶部,我想要完全相反。

firebase有一个.limitToLast()函数,您可以将它链接到您的.collection()上

const query = messagesRef.orderBy("createdAt").limitToLast(25);

LimitToLast文档LimitToLast过滤文档

例如:

const query = messagesRef.orderBy("createdAt", "desc").limit(25);

在这里你有更多的信息:https://firebase.google.com/docs/firestore/query-data/order-limit-data#node.js

最新更新