Возможно ли поддерживать уникальное значение подсчета для каждого документа с помощью этого подхода в пожарном депо? - PullRequest
0 голосов
/ 26 апреля 2020

Я пытаюсь установить поле нумерации c в каждом документе, созданном на основе текущего счетчика документов в firestore. Текущий код работает ...

  const increment = firebase.firestore.FieldValue.increment(1);
  const statsRef = this.afFirestore.collection(this.basePath).doc("--stats--").ref;
  const workRef = this.afFirestore.collection(this.basePath).doc(this.afFirestore.createId()).ref;

  const statsSnap = await statsRef.get();
  const snapData = statsSnap.data() || { count: 0 };

  const batch = this.afFirestore.firestore.batch();
  batch.set(statsRef, { count: increment }, { merge: true });
  batch.set(workRef, Object.assign(work, { workCount: snapData.count + 1 }));
  await batch.commit();

При таком подходе возможно получить два или более документов с одинаковым значением workCount?

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