1
例如,我有一個數據庫的結構是這樣的:當您使用limitToFirst或limitToLast時,Firebase是否加載所有項目?
"chatMessages": {
"chat1": {
"m1": {
"name": "eclarke",
"message": "The relay seems to be malfunctioning.",
"timestamp": 1459361875337
},
"m2": { ... },
"m3": { ... }
},
"chat2": { ... },
"chat3": { ... }
}
現在,有些聊天有,比方說,1000級的消息。當我使用LimitToLast
來檢索最近的100條消息時。在向我發送我想要檢索的100條消息之前,Firebase是否首先加載所有1,000條消息,還是將加載限制爲我真正需要的100條消息?我不確定,因爲我讀了很多關於保持數據庫儘可能平坦的信息。
如果Firebase確實首先加載了所有1,000條消息,我應該考慮以特定方式對其進行嵌套嗎?
我希望社區能讓我的事情變得清晰!
謝謝弗蘭克。我嘗試瞭解發生了什麼,但爲了限制服務器負載,最好給它一個子(時間戳)命令呢? –
不一定。您可以通過鍵或按值進行限制。但是你的問題在這方面相當抽象,所以在我的回答中不能更具體。 –
我同意,這是一個抽象的公式。我真的試圖理解服務器端會發生什麼,因爲我不想不必要地重載服務器。真的很感謝你的回答,它給了我更好的見解。再次感謝! –