私はフラッターアプリケーションのデータを格納するためにfirestoreを使用しており、ユーザーがログインすると自動的にfirestoreにドキュメントを作成する関数を作成しました My Firestoreデータベース
ユーザーがこのフォームに入力するときに、ユーザーのメールが存在する同じドキュメントにデータが追加されます。
[ RaisedButton(
child: Text("Submit"),
onPressed: () {
final CollectionReference users = Firestore.instance.collection('users');
Firestore.instance
.runTransaction((Transaction transaction) async {
CollectionReference reference =
Firestore.instance.collection('users');
await reference
.add({"fullname": nameController.text, "PhoneNumber": phoneController.text, "adresse": adressController.text});
nameController.clear();
phoneController.clear();
adressController.clear();
});},][2]
このコードを試しましたが、新しいドキュメントが追加されました。
データベースを更新する前にドキュメント名を指定してください。
Firestore.instance.collection('Products').document('Apple').updateData({ 'price': 120, 'quantity': 15 });
ここに私の価格と数量のデータは数字です。文字列の場合は、そこに文字列値を入力します。
ベストプラクティスはトランザクションを使用することです。ドキュメント参照が、更新するファイルへの参照であることを確認してください。
Firestore.instance.runTransaction((transaction) async {
await transaction.update(
documentReference, data);
};
多くのクライアントが更新を行う場合に備えて、更新が確実に行われるようにします。
同時編集の場合、Cloud Firestoreはトランザクション全体を再度実行します。たとえば、トランザクションがドキュメントを読み取り、別のクライアントがそれらのドキュメントを変更した場合、Cloud Firestoreはトランザクションを再試行します。この機能により、トランザクションは最新の一貫したデータで実行されます。
詳細 ここ