Есть ли способ получить обновленное значение поля документа, обновленного с помощью firestore.FieldValue.increment
, не запрашивая документ?
var countersRef = db.collection('system').doc('counters');
await countersRef.update({
nextOrderCode: firebase.firestore.FieldValue.increment(1)
});
// Get the updated nextOrderCode without asking for the document data?
Это связано не с расходами, а с надежностью.Например, если я хочу создать код, который увеличивается для каждого заказа, нет никакой гарантии, что, если >= 2
заказы произойдут в одно и то же время, будут иметь разные коды, если я прочту инкрементное значение сразу после разрешения обновления документа, потому что если>= 2
записи выполняются до первого чтения, тогда как минимум 2 документа будут иметь одинаковый код, даже если nextOrderCode
будет иметь правильный шаг приращения.