按时间戳顺序订购Firestore数据,并限制为持续(10)

时间:2019-02-04 09:57:46

标签: javascript google-cloud-firestore

我在Firestore中有此邮件列表,我需要按Firestore时间戳查询最后7条消息 我有这个

function showMessage(doc){
let div = document.createElement('div');
let message = document.createElement('span');

div.setAttribute('message-id', doc.id);
message.textContent = doc.data().message;

div.appendChild(message);

innerDiv.appendChild(div);
} 

获取消息的功能

    function fetchMessage(){    
    dbRef= 
 db.collection("user").doc("eF1RFw3FVAO3LFJ8ORrf7oJPyR13").collection('messages').orderBy("dbTime", "asc").limit(7);
        dbRef.get().then((snapshot) =>{
            snapshot.docs.forEach(doc =>{
                showMessage(doc);
            });
        });
    }

这是怎么回事,但是它会首先记录前7条消息,而不是按时间顺序排在最后的消息。 考虑到聊天体验,这些查询仅获取最后记录的第一条消息(例如上周),而剩下的则是最近的消息,这是错误的。在聊天中这没有意义,因为我们需要最后(7)条消息。

这给出的是下图 您好12是最新消息。哪个应该在底部,然后在顶部11。我该如何重新排序以获得良好的体验

the

0 个答案:

没有答案