Цены при обновлении более одного поля одного и того же документа в транзакции Firestore

У меня есть следующая транзакция с использованием Firestore:

mDb.runTransaction(new Transaction.Function<Void>() {
    @Override
    public Void apply(final Transaction transaction) throws FirebaseFirestoreException {
        DocumentReference documentReference = mDb.collection("collectionOne").document("documentOne");
        /*
            some code
        */
        transaction.update(documentReference, App.getResourses().getString(R.string.field_one), FieldValue.increment(1));
        transaction.update(documentReference, App.getResourses().getString(R.string.field_two), FieldValue.increment(1));
        return null;
    }
}).addOnSuccessListener(new OnSuccessListener<Void>() {
    @Override
    public void onSuccess(Void aVoid) {
        Log.d("Debugging", "Transaction correctly executed.");
    }
}).addOnFailureListener(new OnFailureListener() {
    @Override
    public void onFailure(@NonNull Exception e) {
        Log.w("Debugging", "Transaction failure.", e);
    }
});

У меня вопрос: при обновлении, например, двух полей одного и того же документа в рамках одной транзакции такая транзакция приведет к чтению одного или двух документов?

1
0
102
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

when updating, for example, two fields of the same document within the same transaction, will such a transaction yield to one or two documents reads?

Неважно, сколько полей вы измените в документе за одну операцию, вы всегда будете платить за одну операцию записи. Если вы выполняете записи одну за другой, вам будет предъявлено обвинение в двух операциях записи.

Одна транзакция считается одной операцией или суммой обновлений/установок/удалений в ее теле? Другими словами, в коде исходного вопроса транзакция будет тарифицироваться за одно или два чтения?

nibbana 28.05.2019 18:57

Одна транзакция считается одной операцией, если вы изменяете поля в одном и том же документе. В вашем случае транзакция будет стоить вам ровно одну операцию чтения.

Alex Mamo 28.05.2019 18:59

Другие вопросы по теме