我在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。我该如何重新排序以获得良好的体验