我將 Firestore 用于我的顫振應用程式。我有兩個包含數百個檔案(最多 600 個)的集合。當檔案更改時,我需要通知應用程式用戶。首先我使用了這段代碼:
_collectionRef.snapshots(includeMetadataChanges: true).listen((event) {
event.docChanges.forEach((change) {
if (change.type == DocumentChangeType.modified) {
print(change.doc.id);
}
});
但后來我想到跟蹤兩個集合中的數百個檔案是多么理想。
我熟悉了Firestore 的最佳實踐。找到了:
Limit snapshot listeners per client 100
Keep the number of snapshot listeners per client under 100.
這是否意味著在一個應用程式中不超過 100 個 snapshots().listen?我理解正確嗎?還是對聽眾將收聽的檔案數量有限制?
更改數百個檔案是正常做法嗎?還是改資料結構,限制收聽檔案的數量更好?
uj5u.com熱心網友回復:
您參考的最佳實踐是將每個應用程式的偵聽器數量限制為最多 100 個。這就是您主動呼叫 或類似 API 的.listen次數onSnapshot。此建議與您收聽的收藏或檔案的數量無關,盡管可能有單獨的建議。
如果您想在集合發生更改時通知用戶,我通常會lastUpdated為該集合中的每個檔案添加一個時間戳,您每次寫入該檔案時都會更新該時間戳。然后,您可以在查詢中使用該欄位,例如僅獲取您描述的用例的最后修改檔案。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/498224.html
上一篇:呼叫Firebase.initializeApp()回傳“無法在通道上建立連接”-Flutter Firebase
