小编kok*_*478的帖子

Firestore - 如何按时间 asc 顺序获取 5 个最新文档

所以我有以下代码:

    firebase.firestore().collection(collection).doc(doc).collection(collection)
       .orderBy("time", "asc").onSnapshot(function(querySnapshot) {
        querySnapshot.docChanges().forEach(function(change) {
            if (change.type === "added") {
                msgData(change);
            }
            if (change.type === "modified") {
                msgData(change);
            }
        });
    });
Run Code Online (Sandbox Code Playgroud)

它让我可以看到旨在作为聊天应用程序的文档列表

我将迭代在消息元素中检索的数据,在消息元素下,有一个输入文本区域用于添加新消息。消息将从最小时间到最大时间(时间戳)排序,以便最新消息将出现在输入文本区域的正上方。插画聊天应用 插画聊天应用

问题是如果文档数量很大,聊天应用程序会很重,因为它加载大量文档,所以我想限制消息以避免这个问题。但每当我发现解决方案是按降序对时间进行排序,然后进行限制。如果我这样做,最新的聊天消息(输入文本区域上方的消息)是我获取的最旧的数据......

javascript firebase google-cloud-firestore

1
推荐指数
1
解决办法
3416
查看次数