обновление значений в firestore с использованием облачной функции показывает документы до и после обновления в flutter

# #flutter #google-cloud-firestore #google-cloud-functions

#трепетать #google-облако-firestore #google-облачные функции

Вопрос:

вам нужно заменить значение до на значение после обновления.

однако мой сценарий таков:

следующий пользовательский интерфейс от flutter. если вы используете cloud function для обновления данного документа. Произойдет следующий сценарий.

введите описание изображения здесь

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

 _firestore  .collection("users")  .doc(userID)  .collection("bought")  .doc(_boughtId)  .collection('invoice')  // .where("userId", isEqualTo: userID)  //? not required coz userDoc has it  /* .doc(userID)  .collection("note") */  // .orderBy('serverTimeStamp', descending: true)  .where("buyerUserId", isEqualTo: userID)  .orderBy('createdAt', descending: true)  .limit(10)  .snapshots(includeMetadataChanges: true)  

выше приведен код флаттера, который я использовал для firestore в flutter

ниже приведена облачная функция javascript, используемая для обновления.

 admin  .firestore()  .collection("users").doc(change.after.data().sellerUserId)  .collection("sold")  .doc(change.after.data().sellerUserId   "-"   change.after.data().buyerUserId)  .update({   total: FieldValue.increment(  change.after.data().total  ),  updatedAt: change.after.data().createdAt,     })   

если вы хотите воссоздать то, что я построил, вы должны использовать ListView.builder . документ принимает 25 как total . для воссоздания сценария не потребуется другое поле.

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

замену нужно сделать пользовательским интерфейсом без повторяющихся значений. только тогда пользователь сможет испытать нормальное поведение приложения.

Комментарии:

1. Привет, проблема решена?