У меня есть случай, когда, если в моей базе данных Firestore есть данные, я хочу, чтобы они потерпели неудачу при создании нового документа, и определенно не перезаписывали и не отправляли какие-либо обновления в этот документ.
Я делаюэто в партиях, поэтому я не могу получить ни одного пакета, иначе он убивает всю партию.
Вот что я попробовал / исключил:
batch.update
- исключен из-за обновленияdata batch.set
- по умолчанию исключено перезапись данных. batch.set...{merge: true}
- исключено перезапись любых полей, которые у меня уже есть. batch.create
- Это выглядело обнадеживающе, но не удалось, когда документ уже существует
let batch = db.batch()
...
batch.xyz(refToCreateOnly, Data) // this should be successful either way such that it does not kill the batch, and only updates if the ref does not exist
...
await batch.commit()
Это лучший / возможно единственный способ сделать это с транзакцией?