Javascript 如何读取firebase for js应用程序中的最后一条消息节点?
我想读取最后一个消息节点,如下图所示 我使用下面的查询来检索已知suid和id的最后一条消息(如img所示)。但不起作用Javascript 如何读取firebase for js应用程序中的最后一条消息节点?,javascript,firebase,firebase-realtime-database,Javascript,Firebase,Firebase Realtime Database,我想读取最后一个消息节点,如下图所示 我使用下面的查询来检索已知suid和id的最后一条消息(如img所示)。但不起作用 firebase.database().ref("Messages/"+suid).child(ids+"/chat").orderByKey().limitToLast(1); 如何从firebase realtime db检索最后一条消息并将其显示到我的控制台?谢谢您现有的代码看起来不错,所以让我们先将该查询存储在变量中: co
firebase.database().ref("Messages/"+suid).child(ids+"/chat").orderByKey().limitToLast(1);
如何从firebase realtime db检索最后一条消息并将其显示到我的控制台?谢谢您现有的代码看起来不错,所以让我们先将该查询存储在变量中:
const query = firebase.database().ref("Messages/"+suid).child(ids+"/chat").orderByKey().limitToLast(1);
现在,您可以阅读此查询与once()
或get()
匹配的消息。我将使用once()
,因为它更古老,因此您更可能在其他地方找到它的示例:
query.once("value").then((snapshot) => {
snapshot.forEach((message) => {
console.log(message.val().message.msg);
});
})
这里需要注意的是:
- 由于查询可能有多个结果,因此快照包含这些结果的列表。即使只有一个结果(如此处所示),快照也是一个结果列表。为了循环这些结果,我们使用
snapshot.forEach()
- 您的
嵌套在每个子项的msg
下,因此我们使用message
获取其值message.val().message.msg