在Firestore交易中更新同一文档的多个字段时的定价

时间:2019-05-28 16:37:24

标签: android transactions google-cloud-firestore billing acid

我使用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 :(得分:2)

  

例如,在同一笔交易中更新同一文档的两个字段时,这样的交易会产生一个或两个文档读取吗?

在一个操作中更改一个文档中的多少字段都无关紧要,您始终要承担一个写入操作的费用。如果您一次接一个进行写操作,则将承担两次写操作的费用。