Firestore do c Обновление с Merge true - PullRequest
1 голос
/ 28 марта 2020

Сегодня, работая над Cloud Firestore с использованием Admin SDK, я случайно забыл заменить .update на .set с опцией merge true, и, к моему удивлению, запрос сработал, и документ был создан. Я удалил слияние: истина, а затем я получил документ не существует ошибки. Я снова проверил это с помощью merge: true и документ создан заново. Я не мог найти ничего об этом в документации. Кто-нибудь может объяснить это поведение.

let query = userRolesRef
           .doc(user).update(
                    {
                      isDeliveryPerson:true
                    },
                     { merge: true }
                );

1 Ответ

1 голос
/ 28 марта 2020

Существует нет разницы между использованием .update и .set с опцией слияния true для документов, которые уже существуют в вашей коллекции. Разница между этими двумя операциями возникает только для документов, которые не существуют. Например, опция .set with merge true создаст документ, если документ не существует, а при использовании и .update операция завершится неудачей.

...