Какой набор шаблонов лучше использовать - PullRequest
0 голосов
/ 10 июля 2019

Я обнаружил два способа добавления данных в Cloud Firestore.

Сначала используются транзакции, т.е.:

Firestore.instance.runTransaction((transaction) async{
  await transaction.set(ref.document(), {
    'user_name': _name.text,
    'age': _age.text
  });
});

Вторым является использование метода setData ():

Firestore.instance.collection('users').document('$id').setData({
  'user_name': _name.text,
  'age': _age.text
});

Есть ли какие-либо соображения по поводу производительности / good_practice, стоящие за использованием одного или другого? Спасибо!

Ответы [ 2 ]

1 голос
/ 10 июля 2019

Если ваш один и тот же узел обновляется разными пользователями одновременно, вам нужно использовать runTransaction.

https://firebase.google.com/docs/firestore/manage-data/transactions

Если узел обновляется только одним пользователем за раз, мы можем использовать setData

1 голос
/ 10 июля 2019

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...