我有這樣的樹:如何獲取Firebase上更改/添加/刪除的記錄?
根/ companyId /客戶和根/ companyId /訂單
及以下則3客戶,如
根/ companyId /客戶/ IdCustomer/CustomerData
我附加到所有事件:
[sharedInstance.root observeEventType:FEventTypeChildChanged withBlock:^(FDataSnapshot *snapshot) {
NSLog(@"Data get: %@", snapshot.value);
}];
[sharedInstance.root observeEventType:FEventTypeChildRemoved withBlock:^(FDataSnapshot *snapshot) {
NSLog(@"Removed: %@", snapshot.value);
}];
[sharedInstance.root observeEventType:FEventTypeChildAdded withBlock:^(FDataSnapshot *snapshot) {
NSLog(@"Added: %@", snapshot.value);
}];
在根/公司。
我需要知道什麼時候表更改,哪些記錄。
然而,FEventTypeChildChanged
讓我滿子樹,即使只有1客戶的變化。 FEventTypeChildRemoved
僅在刪除客戶樹時觸發,而不是在刪除單個客戶時觸發。 FEventTypeChildChanged
在刪除時觸發,但不顯示已刪除的記錄,但不顯示已刪除記錄的完整子樹。在添加新記錄時也會觸發,但是FEventTypeChildAdded
不會觸發。
如果我只監視「客戶」樹並更改單個值,請獲取 FEventTypeChildChanged中的所有客戶列表。我只想要改變的單個記錄。
所以,很明顯,我不明白這是如何連線。我希望獲得每個表的每個記錄的添加,更改,del事件,不會獲得整個子樹並重新處理已同步的數據(類似於Firebase儀表板的工作方式)。
這意味着我在事件中獲取的數據沒有完全下載,但是從服務器中的更改和本地副本重新構建?像一種差異? – mamcx
此外,儀表板的行爲是我喜歡的。如何完成任何提示?正在使用隊列? (順便說一下,我運行隊列演示,沒有發生...) – mamcx
我不知道我明白。你在說Forge嗎?你喜歡哪種行爲? –