У меня есть экран комментариев со списком комментариев и текстовым полем внизу.У меня есть два способа сохранить комментарий с обновленным количеством комментариев:
1) Использование set ()
ref.child(commentsList).child(commentKey).set(true);
ref.child(commentsCount).set(++count);
2) Использование update ()
allCommentKeysArray[newCommentsKey] == true
var data = {
commentscount: ++count,
commentslist: { ...allCommentKeysArray}
}
ref.child(path).update(data);
Теперь для ситуации офлайн, то есть, когда клиент отключается от Интернета, если я добавляю несколько комментариев в автономном режиме, вот что происходит в обоих случаях:
set () работает нормально.Все комментарии, которые пользователь добавил в автономном режиме, сохраняются в базе данных Firebase, когда клиент возвращается в онлайн-режим.
Но update () не работает в автономном режиме.Когда клиент возвращается в онлайн-режим, значения 'count' неверны, и только один ключ добавляется к узлу 'commentsList' в базе данных firebase.
Я хочу использовать update () вместо set (), но update () не работает в автономном режиме.Итак, я должен придерживаться set (), как мне нужно для достижения автономной функциональности, или есть ли лучший способ?