Я пытаюсь получить документ в транзакции хранилища, прежде чем начать обновлять значения и писать документы, но всякий раз, когда я запускаю транзакцию, я получаю нулевые значения из снимка.тем не менее, когда я пытаюсь получить идентификатор документа, он у меня действительно есть.
По сути, я хочу получить последний счетчик, созданный во вложенной коллекции сервисного центра (по номеру), который сохраняется как атрибут вдокумент самого центра обслуживания и создайте счетчик с новым номером, а также обновите атрибут «lastCounter» в центре обслуживания.
Я извлекаю «lastCounter» как двойное число, я пытался использовать long, но он делаетне работа.Я не могу получить ни один из других атрибутов либо.
Это моя база данных
DocumentReference scReference = db
.collection("Services")
.document(uuid);
Log.i("AAA", "STARTED TRANSACTION");
// get the service centre
DocumentSnapshot serviceCenterSnapshot = transaction.get(scReference);
Log.i("AAA", serviceCenterSnapshot.getId()); // this one retireves the id which shows that it's working
Log.i("AAA", "last counter = " + serviceCenterSnapshot.getDouble("lastCounter")); // null
Log.i("AAA", "branch = " + serviceCenterSnapshot.getString("branch")); // null
```
// get the last counter added and increment it
double lastCounterNumber = serviceCenterSnapshot.getDouble("lastCounter");
double newCounterNumber = lastCounterNumber + 1;
Counter counter = new Counter(newCounterNumber);
// update the service centre with the last counter added
transaction.update(scReference, "lastCounter", newCounterNumber);
// add the new counter
transaction.set(scReference.collection("Counters").document(), counter);
return null;
LOGS
2019-04-01 18:05:32.966 29597-29656/com.zayed.qmsadmin I/AAA: STARTED TRANSACTION
2019-04-01 18:05:33.405 29597-29656/com.zayed.qmsadmin I/AAA: rkO0i0sQHuWFWqNUb8J3XE1QV6E3
2019-04-01 18:05:33.405 29597-29656/com.zayed.qmsadmin I/AAA: last counter = null
2019-04-01 18:05:33.405 29597-29656/com.zayed.qmsadmin I/AAA: branch = null
2019-04-01 18:05:33.406 29597-29597/com.zayed.qmsadmin I/AAA: FINISHED TRANSACTION
2019-04-01 18:05:33.406 29597-29597/com.zayed.qmsadmin I/AAA: Attempt to invoke virtual method 'double java.lang.Double.doubleValue()' on a null object reference