Как определить, успешно ли выполнена операция Firestore? - PullRequest
0 голосов
/ 10 января 2019

Мне нужно знать, была ли операция set (), delete () или update () над документом успешной, прежде чем я выполню операцию транзакции для увеличения или уменьшения счетчика.

Я пытался напечатать, что возвращают set (), delete () и update (), но он всегда просто возвращает «секунды» и «нанос» независимо от того, была ли операция успешной или нет. Я пытался выполнить операции с идентификаторами документов, которые не существуют, или коллекциями, которые не существуют, но он всегда просто возвращает одно и то же без указания того, что он что-то сделал или нет.

collection.("some_col").document("SoM3DoC").delete()
collection.("some_other_col").document("SoM30tH3RDoC").collection("some_col_ref").document("SoM3DoC").delete()
Затем, ТОЛЬКО если вышеперечисленное успешно (документ существовал и был удален):
some_transaction(transaction, collection.("some_other_col").document("SoM30tH3RDoC")) # decrement a counter in this doc

Я ожидаю, что методы операции либо сгенерируют ошибку, если не удастся завершить операцию, либо вернут какое-либо сообщение, указывающее на это, но я не могу получить никакого ответа. Я даже попытался начать с некоторой случайной коллекции, например collection.("asdfsergreasg").document..., но ответа до сих пор нет.

1 Ответ

0 голосов
/ 10 января 2019

Документация API указывает, что ожидать от различных операций, поэтому вы должны использовать это в качестве справочного материала. Некоторые операции с несуществующими документами и коллекциями не приводят к ошибкам. Некоторые делают. Например, вызов get для несуществующего документа не является ошибкой, но возвращенный объект будет ясно, что документа не существует. Однако вызов update для несуществующего документа должен вызвать ошибку.

...