Поскольку облачное хранилище данных в режиме хранилища данных поддерживает строгую согласованность для всех запросов,
https://cloud.google.com/datastore/docs/firestore-or-datastore#in_datastore_mode
можно ли это использовать для проверки уникальности? Скажем, у меня есть пользовательский объект (объект верхнего уровня), которому в качестве ключа назначен идентификатор хранилища данных. В прошлом было невозможно сделать запрос по электронной почте в рамках транзакции, поскольку это был глобальный запрос. Но кажется, что теперь можно выполнять такие запросы, как уточнено на
Новое хранилище Google Cloud Firestore в режиме хранилища данных. Уточнение запросов
Означает ли это, что теперь возможногарантировать, что нет дублирующихся сущностей пользователя, просто проиндексировав и запросив свойство электронной почты в транзакции для вставки сущности пользователя?
Моя текущая реализация состоит в том, чтобы иметь отдельную сущность, которая имеет именованный ключ, используя электронную почту, и делатьзапрос на основе ключа для этого объекта в транзакции. Я могу избавиться от этого, если смогу отправлять запросы по электронной почте на сам объект User в рамках транзакции, и это гарантирует, что дублирующиеся объекты не будут созданы при условии гонки.