gpt4 book ai didi

firebase - 如何在 Firebase 查询中使用 startAt()?

转载 作者:行者123 更新时间:2023-12-03 06:29:19 27 4
gpt4 key购买 nike

enter image description here

让我们假设上面的 Firebase 数据库架构。

我想要的是检索“15039996197”时间戳之后的消息。每个消息对象都有一个createdAt属性。

如何才能仅在特定时间戳之后获取消息?在本例中,最后两条消息是我想要检索的内容。

我尝试了 firebaseb.database().ref(`/rooms/$roomKey/messages`).startAt('15039996197') 但失败了。它返回 0。我该怎么做?

最佳答案

您的查询的情况是,它期望 message 节点应该有一个数字值开头,在这种情况下,您需要一个名为 createdAt 的子节点>。因此,在这种情况下,您必须指定要按 createdAt 进行排序,因此您需要执行此操作

firebase.database().ref(`/rooms/$roomKey/messages`).orderByChild('createdAt').startAt('15039996197').on(//code);

这样,它将返回 message 中具有名为 createdAt 的子节点且从 15039996197 开始的所有节点。对查询进行排序可能会对性能产生一些影响,因此我建议查看 .indexOn 规则。

有关更多信息,请查看 here .

希望这有帮助。

关于firebase - 如何在 Firebase 查询中使用 startAt()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45936014/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com