Я создаю приложение todolist. когда я использую транзакцию, у меня возникает вопрос.
Я пытаюсь изменить количество пользователей todolist с помощью транзакции. но стало так, что количество пользователей меняется друг от друга по двум действиям по некоторым причинамв todolist
val todoListRef = firestore!!.collection("todoList").document(checkListName!!)
firestore?.runTransaction { transaction ->
val todoListDTO = transaction.get(todoListRef).toObject(TodoListDTO::class.java)
todoListDTO!!.todoListUserCount = todoListDTO.todoListUserCount - 1
todoListDTO.todoListUsers.remove(currentUserUid!!)
transaction.set(todoListRef, todoListDTO)
return@runTransaction
}
Меня беспокоит сбой транзакции. Если кто-то добавлен в список пользователей todolist и в то же время кто-то удален в счетчик пользователей todolist, это приведет к прерыванию транзакции или не отразит изменение. Это правильно? Или я могу использовать двойную транзакцию с одним документом?
Если это проблема, как я могу изменить данные одного документа, не прерывая транзакцию при другой операции?
Всегда Спасибо.