gpt4 book ai didi

javascript - firebase orderby key vs orderby timestamp,用于分页

转载 作者:行者123 更新时间:2023-11-29 17:56:09 27 4
gpt4 key购买 nike

我的数据在我的 firebase 中看起来像这样。

users: {
-KOwKNCB5IiDBxY9FNzR: {
content: { blah blah },
timestamp:1470964762934

},
-KOwKNCB5IiDBxYsdsds: {
content: { blah blah },
timestamp:1444964762934
},
--HHiOwKNCB5IiDBxY9FN: {
content: { blah blah },
timestamp:1579864762934
}
}

这两者有什么区别?

  • ....orderByChild("timestamp").startAt(starttime).endAt(endTime).limitToLast(10)
  • ....orderByKey().startAt(starttime).endAt(endTime).limitToLast(10)

我在添加数据时使用了 push ref key。 Firebase 使用基于时间戳的 key ,对吗?在那种情况下,以下两者之间有什么区别?两者都会给出相同的结果?性能如何?

最佳答案

不,它们不等价;您示例中的基于键的查询将不起作用。

Firebase key 源自时间戳,但它不仅仅是简单的毫秒数。要对键执行时间查询,您需要将时间戳转换为键。有一个要点 here演示了该算法。

如果您将基于键的查询中的时间戳转换为实际键,这两个查询应该在合理范围内等效 - Firebase 用于为推送数据生成键的时间戳可能与 时间戳 您已存储在数据中。

但是,出于性能原因,您需要 put an indextimestamp 属性上。有了索引,您需要进行一些测试以确定使用基于键的查询是否具有显着的性能优势。

关于javascript - firebase orderby key vs orderby timestamp,用于分页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38909189/

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