例如,我有一个这样的数据库结构:
"chatMessages": {
"chat1": {
"m1": {
"name": "eclarke",
"message": "The relay seems to be malfunctioning.",
"timestamp": 1459361875337
},
"m2": { ... },
"m3": { ... }
},
"chat2": { ... },
"chat3": { ... }
}
现在,一些聊天有 1,000 条消息。当我使用 LimitToLast
检索最后 100 条消息时。 Firebase 是否会先加载所有 1,000 条消息,然后再向我发送我想要检索的 100 条消息,还是将加载限制为我真正需要的 100 条消息?我不确定,因为我读了很多关于保持数据库尽可能平坦的内容。
如果 Firebase 首先加载所有 1,000 条消息,我是否应该考虑以特定方式嵌套它?
我希望社区能够向我澄清事情!
最佳答案
这里有两种可能性:
查询有一个索引(隐式索引,或显式 defined by you ),数据在服务器上过滤。
查询没有索引,在这种情况下,将在客户端检索并排序/过滤该位置的所有数据。
关于firebase - 当您使用 limitToFirst 或 limitToLast 时,Firebase 是否会加载所有项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44608895/