В настоящее время я делаю проект для базы данных Firestore с Android SDK.Мне нужно написать Транзакцию, в которой я хочу редактировать документ «destination» в коллекции «destination», только если в другой коллекции с именем «batches» нет документа с именем поля «destionId», установленным для документа назначения для редактированияЯ БЫ.Я проверяю это с помощью запроса .limit (1), установленного
Теперь я хочу сделать это в транзакции, так как это приложение работает в режиме реального времени и будет использоваться многими людьми одновременно.Если я не использовал транзакцию, то возможно, что другой человек может добавить «пакетный» документ с этим destinationId прямо между моим запросом для проверки и фактическим редактированием целевого документа.Итак, я хочу запускать запрос и проверять сбор пакетов каждый раз, когда транзакция повторяется.
Но я не уверен, как выполнить запрос Firestore внутри транзакции как его асинхронный.Я считаю, что в Android SDK нет способа сделать запрос на блокировку запроса.Пожалуйста, исправьте меня, если ошибаетесь.
Может кто-нибудь помочь мне с идеей, как решить этот конфликт?Заранее спасибо.