4
我想更新多個對象境界反應本地使用循環這樣的更新多個對象:境界陣營原住民 - 如何在一個循環
let pendingReadings = database.objects('Readings').filtered('synced = false');
database.write(() => {
for (var k=0;k<pendingReadings.length;k++) {
pendingReadings[k].synced = true;
}
});
結果應該標註真實同步所有讀數。但是,它僅將同步對象標記爲已同步(也許先前的寫入在下一個請求進入時未完成)。一次更新所有條目的最佳方式是什麼?
感謝您的建議。但我的問題確實是這個循環中的所有對象都沒有同步。爲什麼會這樣呢?感謝您讓我知道快照方法。我正要尋找這樣的事情。 –
由於查詢結果是實時更新並在'synced = false'上過濾,所以當您將第一個設置爲'true'('pendingReadings [0] .synced = true')時,它將從查詢結果中刪除,項目向下移動(第二個成爲第一個等)。這就是爲什麼你看到其他所有項目都被設置爲「true」。在這種情況下,使用'snapshot()'可以避免不必要的實時更新行爲。 –
非常感謝您的解釋。工作很棒! –