Индекс
-
Firestore
(интерфейс) -
AggregationResult
(сообщение) -
ArrayValue
(сообщение) -
BatchGetDocumentsRequest
(сообщение) -
BatchGetDocumentsResponse
(сообщение) -
BatchWriteRequest
(сообщение) -
BatchWriteResponse
(сообщение) -
BeginTransactionRequest
(сообщение) -
BeginTransactionResponse
(сообщение) -
BitSequence
(сообщение) -
BloomFilter
(сообщение) -
CommitRequest
(сообщение) -
CommitResponse
(сообщение) -
CreateDocumentRequest
(сообщение) -
Cursor
(сообщение) -
DeleteDocumentRequest
(сообщение) -
Document
(сообщение) -
DocumentChange
(сообщение) -
DocumentDelete
(сообщение) -
DocumentMask
(сообщение) -
DocumentRemove
(сообщение) -
DocumentTransform
(сообщение) -
DocumentTransform.FieldTransform
(сообщение) -
DocumentTransform.FieldTransform.ServerValue
(перечисление) -
ExecutionStats
(сообщение) -
ExistenceFilter
(сообщение) -
ExplainMetrics
(сообщение) -
ExplainOptions
(сообщение) -
GetDocumentRequest
(сообщение) -
ListCollectionIdsRequest
(сообщение) -
ListCollectionIdsResponse
(сообщение) -
ListDocumentsRequest
(сообщение) -
ListDocumentsResponse
(сообщение) -
ListenRequest
(сообщение) -
ListenResponse
(сообщение) -
MapValue
(сообщение) -
PartitionQueryRequest
(сообщение) -
PartitionQueryResponse
(сообщение) -
PlanSummary
(сообщение) -
Precondition
(сообщение) -
RollbackRequest
(сообщение) -
RunAggregationQueryRequest
(сообщение) -
RunAggregationQueryResponse
(сообщение) -
RunQueryRequest
(сообщение) -
RunQueryResponse
(сообщение) -
StructuredAggregationQuery
(сообщение) -
StructuredAggregationQuery.Aggregation
(сообщение) -
StructuredAggregationQuery.Aggregation.Avg
(сообщение) -
StructuredAggregationQuery.Aggregation.Count
(сообщение) -
StructuredAggregationQuery.Aggregation.Sum
(сообщение) -
StructuredQuery
(сообщение) -
StructuredQuery.CollectionSelector
(сообщение) -
StructuredQuery.CompositeFilter
(сообщение) -
StructuredQuery.CompositeFilter.Operator
(перечисление) -
StructuredQuery.Direction
(перечисление) -
StructuredQuery.FieldFilter
(сообщение) -
StructuredQuery.FieldFilter.Operator
(перечисление) -
StructuredQuery.FieldReference
(сообщение) -
StructuredQuery.Filter
(сообщение) -
StructuredQuery.FindNearest
(сообщение) -
StructuredQuery.FindNearest.DistanceMeasure
(перечисление) -
StructuredQuery.Order
(сообщение) -
StructuredQuery.Projection
(сообщение) -
StructuredQuery.UnaryFilter
(сообщение) -
StructuredQuery.UnaryFilter.Operator
(перечисление) -
Target
(сообщение) -
Target.DocumentsTarget
(сообщение) -
Target.QueryTarget
(сообщение) -
TargetChange
(сообщение) -
TargetChange.TargetChangeType
(перечисление) -
TransactionOptions
(сообщение) -
TransactionOptions.ReadOnly
(сообщение) -
TransactionOptions.ReadWrite
(сообщение) -
UpdateDocumentRequest
(сообщение) -
Value
(сообщение) -
Write
(сообщение) -
WriteRequest
(сообщение) -
WriteResponse
(сообщение) -
WriteResult
(сообщение)
Пожарная лавка
Сервис Cloud Firestore.
Cloud Firestore — это быстрая, полностью управляемая, бессерверная, облачная база данных документов NoSQL, которая упрощает хранение, синхронизацию и запрос данных для ваших мобильных, веб-приложений и приложений Интернета вещей в глобальном масштабе. Его клиентские библиотеки обеспечивают синхронизацию в реальном времени и автономную поддержку, а функции безопасности и интеграция с Firebase и Google Cloud Platform ускоряют создание действительно бессерверных приложений.
Пакетное получение документов |
---|
Получает несколько документов. Документы, возвращаемые этим методом, не гарантированно возвращаются в том же порядке, в котором они были запрошены.
|
Пакетная запись |
---|
Применяет пакет операций записи. Метод BatchWrite не применяет операции записи атомарно и может применять их не по порядку. Метод не допускает более одной записи на документ. Каждая запись завершается успешно или неудачно независимо. См. Если вам требуется атомарный набор операций записи, используйте вместо этого
|
Бегинтранзакция |
---|
Начинает новую транзакцию.
|
Совершить |
---|
Фиксирует транзакцию, при необходимости обновляя документы.
|
Создать документ |
---|
Создает новый документ.
|
Удалить документ |
---|
Удаляет документ.
|
Получить документ |
---|
Получает один документ.
|
ListCollectionIds |
---|
Перечисляет все идентификаторы коллекций под документом.
|
Список документов |
---|
Перечисляет документы.
|
Слушать |
---|
Прислушивается к изменениям. Этот метод доступен только через gRPC или WebChannel (не REST).
|
Запрос раздела |
---|
Разделяет запрос, возвращая курсоры разделов, которые можно использовать для параллельного выполнения запроса. Возвращенные курсоры разделов представляют собой точки разделения, которые RunQuery может использовать в качестве начальной и конечной точек для результатов запроса.
|
Откат |
---|
Откатывает транзакцию.
|
Запустить агрегационный запрос |
---|
Запускает запрос агрегирования. Вместо того, чтобы создавать результаты Пример высокого уровня:
|
Выполнить запрос |
---|
Выполняет запрос.
|
Обновить документ |
---|
Обновляет или вставляет документ.
|
Писать |
---|
Потоковая передача пакетов обновлений и удалений документов по порядку. Этот метод доступен только через gRPC или WebChannel (не REST).
|
Результат агрегации
Результат одного сегмента из запроса агрегации Firestore.
aggregate_fields
одинаковы для всех результатов в запросе агрегации, в отличие от запросов документов, которые могут иметь разные поля для каждого результата.
Поля | |
---|---|
aggregate_fields | Результат функций агрегирования, например: Ключом является |
МассивЗначение
Значение массива.
Поля | |
---|---|
values[] | Значения в массиве. |
Пакетный запрос документов
Запрос Firestore.BatchGetDocuments
.
Поля | |
---|---|
database | Необходимый. Имя базы данных. В формате: |
documents[] | Имена документов, которые необходимо получить. В формате: |
mask | Поля для возврата. Если не установлено, возвращает все поля. Если в документе есть поле, которого нет в этой маске, это поле не будет возвращено в ответе. |
Объединённое поле consistency_selector . Режим согласованности для этой транзакции. Если не установлено, по умолчанию используется строгая согласованность. consistency_selector может быть только одним из следующих: | |
transaction | Считывает документы в транзакции. |
new_transaction | Начинает новую транзакцию и читает документы. По умолчанию используется транзакция только для чтения. Новый идентификатор транзакции будет возвращен в качестве первого ответа в потоке. |
read_time | Читает документы в том виде, в каком они были на данный момент. Это должна быть метка времени с точностью до микросекунды за последний час или, если включено восстановление на момент времени, дополнительно может быть метка времени с точностью до целой минуты за последние 7 дней. |
Пакетный запрос документовОтвет
Потоковый ответ для Firestore.BatchGetDocuments
.
Поля | |
---|---|
transaction | Транзакция, которая была запущена в рамках этого запроса. Будет установлено только в первом ответе и только в том случае, если в запросе был установлен |
read_time | Время чтения документа. Это может быть монотически возрастающим, в этом случае предыдущие документы в потоке результатов гарантированно не изменились между их read_time и этим. |
result поля объединения. Единый результат. Это может быть пусто, если сервер просто возвращает транзакцию. result может быть только одним из следующих: | |
found | Документ, который был запрошен. |
missing | Имя документа, которое было запрошено, но не существует. В формате: |
Пакетная записьзапроса
Запрос Firestore.BatchWrite
.
Поля | |
---|---|
database | Необходимый. Имя базы данных. В формате: |
writes[] | Пишет подать заявку. Метод не применяет атомарную запись и не гарантирует упорядочивание. Каждая запись завершается успешно или неудачно независимо. Вы не можете писать в один и тот же документ более одного раза за запрос. |
labels | Метки, связанные с этой пакетной записью. |
Пакетная записьответа
Ответ от Firestore.BatchWrite
.
Поля | |
---|---|
write_results[] | Результат применения записи. Этот i-й результат записи соответствует i-й записи в запросе. |
status[] | Статус применения пишет. Этот i-й статус записи соответствует i-й записи в запросе. |
Бегинтранзакциярекуест
Запрос Firestore.BeginTransaction
.
Поля | |
---|---|
database | Необходимый. Имя базы данных. В формате: |
options | Варианты сделки. По умолчанию используется транзакция чтения-записи. |
Бегинтранзакцияответ
Ответ на Firestore.BeginTransaction
.
Поля | |
---|---|
transaction | Транзакция, которая была начата. |
Битовая последовательность
Последовательность битов, закодированная в массиве байтов.
Каждый байт в массиве байтов bitmap
хранит 8 бит последовательности. Единственным исключением является последний байт, который может хранить 8 или меньше бит. padding
определяет количество битов последнего байта, которые будут игнорироваться как «заполнение». Значения этих битов «заполнения» не указаны и их следует игнорировать.
Чтобы получить первый бит, бит 0, вычислите: (bitmap[0] & 0x01) != 0
. Чтобы получить второй бит, бит 1, вычислите: (bitmap[0] & 0x02) != 0
. Чтобы получить третий бит, бит 2, вычислите: (bitmap[0] & 0x04) != 0
. Чтобы получить четвертый бит, бит 3, вычислите: (bitmap[0] & 0x08) != 0
. Чтобы получить бит n, вычислите: (bitmap[n / 8] & (0x01 << (n % 8))) != 0
.
«Размер» BitSequence
(количество содержащихся в нем битов) рассчитывается по следующей формуле: (bitmap.length * 8) - padding
.
Поля | |
---|---|
bitmap | Байты, которые кодируют последовательность битов. Может иметь нулевую длину. |
padding | Число бит последнего байта в |
БлумФильтр
Фильтр Блума ( https://en.wikipedia.org/wiki/Bloom_filter) .
Фильтр Блума хэширует записи с помощью MD5 и обрабатывает полученный 128-битный хеш как два различных 64-битных значения хеш-функции, интерпретируемых как целые числа без знака с использованием кодировки с дополнением до 2.
Эти два хеш-значения, называемые h1
и h2
, затем используются для вычисления хэш-значений hash_count
по формуле, начиная с i=0
:
h(i) = h1 + (i * h2)
Эти результирующие значения затем берутся по модулю количества битов в фильтре Блума, чтобы получить биты фильтра Блума для проверки данной записи.
Поля | |
---|---|
bits | Данные фильтра Блума. |
hash_count | Количество хешей, используемых алгоритмом. |
Зафиксировать запрос
Запрос Firestore.Commit
.
Поля | |
---|---|
database | Необходимый. Имя базы данных. В формате: |
writes[] | Пишет подать заявку. Всегда выполняется атомарно и по порядку. |
transaction | Если установлено, применяются все записи в этой транзакции и фиксируются. |
КоммитОтвет
Ответ на Firestore.Commit
.
Поля | |
---|---|
write_results[] | Результат применения записи. Этот i-й результат записи соответствует i-й записи в запросе. |
commit_time | Время, когда произошла фиксация. Любое чтение с равным или большим |
СоздатьДокументЗапрос
Запрос Firestore.CreateDocument
.
Поля | |
---|---|
parent | Необходимый. Родительский ресурс. Например: |
collection_id | Необходимый. Идентификатор коллекции относительно |
document_id | Идентификатор документа, назначенный клиентом, который будет использоваться для этого документа. Необязательный. Если не указано, идентификатор будет назначен службой. |
document | Необходимый. Документ, который нужно создать. |
mask | Поля для возврата. Если не установлено, возвращает все поля. Если в документе есть поле, которого нет в этой маске, это поле не будет возвращено в ответе. |
Курсор
Позиция в наборе результатов запроса.
Поля | |
---|---|
values[] | Значения, представляющие позицию, в том порядке, в котором они появляются в предложении запроса. Может содержать меньше значений, чем указано в предложении order by. |
before | Если позиция находится непосредственно перед или сразу после заданных значений относительно порядка сортировки, определенного запросом. |
УдалитьДокументЗапрос
Запрос Firestore.DeleteDocument
.
Поля | |
---|---|
name | Необходимый. Имя ресурса документа, который необходимо удалить. В формате: |
current_document | Необязательное предварительное условие в документе. Запрос завершится неудачей, если он установлен и не соответствует целевому документу. |
Документ
Документ Firestore.
Не должен превышать 1 МБ — 4 байта.
Поля | |
---|---|
name | Имя ресурса документа, например |
fields | |
create_time | Только вывод. Время создания документа. Это значение монотонно увеличивается, когда документ удаляется, а затем создается заново. Его также можно сравнить со значениями из других документов и |
update_time | Только вывод. Время последнего изменения документа. Первоначально это значение установлено равным |
Изменение документа
Document
изменился.
Может быть результатом нескольких writes
, включая удаления, которые в конечном итоге привели к новому значению Document
.
Несколько сообщений DocumentChange
могут быть возвращены для одного и того же логического изменения, если затронуто несколько целей.
Поля | |
---|---|
document | Новое состояние Если |
target_ids[] | Набор целевых идентификаторов целей, соответствующих этому документу. |
removed_target_ids[] | Набор целевых идентификаторов для целей, которые больше не соответствуют этому документу. |
ДокументУдалить
Document
удален.
Может быть результатом нескольких writes
, включая обновления, последняя из которых удалила Document
.
Несколько сообщений DocumentDelete
могут быть возвращены для одного и того же логического удаления, если затронуто несколько целей.
Поля | |
---|---|
document | Имя ресурса |
removed_target_ids[] | Набор целевых идентификаторов для целей, которые ранее соответствовали этому объекту. |
read_time | Временная метка чтения, в которой было обнаружено удаление. Больше или равно |
Маска документа
Набор путей к полям в документе. Используется для ограничения операции получения или обновления документа подмножеством его полей. Это отличается от стандартных масок полей, поскольку всегда ограничено Document
и учитывает динамическую природу Value
.
Поля | |
---|---|
field_paths[] | Список путей к полям в маске. См. |
ДокументУдалить
Document
был удален из поля зрения целей.
Отправляется, если документ больше не имеет отношения к цели и находится вне поля зрения. Может быть отправлено вместо DocumentDelete или DocumentChange, если сервер не может отправить новое значение документа.
Несколько сообщений DocumentRemove
могут быть возвращены для одной и той же логической записи или удаления, если затронуто несколько целей.
Поля | |
---|---|
document | Имя ресурса |
removed_target_ids[] | Набор целевых идентификаторов для целей, которые ранее соответствовали этому документу. |
read_time | Временная метка чтения, в которой наблюдалось удаление. Больше или равно времени |
ДокументПреобразование
Трансформация документа.
Поля | |
---|---|
document | Имя документа, который нужно преобразовать. |
field_transforms[] | Список преобразований, применяемых к полям документа, по порядку. Это не должно быть пусто. |
Преобразование поля
Преобразование поля документа.
Поля | |
---|---|
field_path | Путь поля. См. |
Поле объединения transform_type . Преобразование, применяемое к полю. transform_type может быть только одним из следующих: | |
set_to_server_value | Устанавливает в поле указанное значение сервера. |
increment | Добавляет заданное значение к текущему значению поля. Это должно быть целое число или двойное значение. Если поле не является целым или двойным числом или если поле еще не существует, преобразование установит для поля заданное значение. Если какое-либо из заданного значения или текущего значения поля имеет двойное значение, оба значения будут интерпретироваться как двойные. Двойная арифметика и представление двойных значений соответствуют семантике IEEE 754. Если происходит переполнение положительного/отрицательного целого числа, поле разрешается до положительного/отрицательного целого числа наибольшей величины. |
maximum | Устанавливает для поля максимальное значение из текущего значения и заданного значения. Это должно быть целое число или двойное значение. Если поле не является целым или двойным числом или если поле еще не существует, преобразование установит для поля заданное значение. Если применяется операция максимума, когда поле и входное значение имеют смешанные типы (то есть одно целое число, а другое двойное), поле принимает тип большего операнда. Если операнды эквивалентны (например, 3 и 3.0), поле не изменяется. 0, 0,0 и -0,0 равны нулю. Максимум нулевого сохраненного значения и нулевого входного значения всегда является сохраненным значением. Максимум любого числового значения x и NaN равен NaN. |
minimum | Устанавливает для поля минимальное значение из его текущего значения и заданного значения. Это должно быть целое число или двойное значение. Если поле не является целым или двойным числом или если поле еще не существует, преобразование установит для поля входное значение. Если применяется операция минимума, когда поле и входное значение имеют смешанные типы (то есть одно целое число, а другое двойное), поле принимает тип меньшего операнда. Если операнды эквивалентны (например, 3 и 3.0), поле не изменяется. 0, 0,0 и -0,0 равны нулю. Минимум нулевого сохраненного значения и нулевого входного значения всегда является сохраненным значением. Минимум любого числового значения x и NaN равен NaN. |
append_missing_elements | Добавьте данные элементы по порядку, если они еще не присутствуют в текущем значении поля. Если поле не является массивом или поле еще не существует, сначала ему присваивается пустой массив. Эквивалентные числа разных типов (например, 3L и 3.0) считаются равными при проверке отсутствия значения. NaN равно NaN, а Null равно Null. Если входные данные содержат несколько эквивалентных значений, будет учитываться только первое. Соответствующий Transform_result будет иметь нулевое значение. |
remove_all_from_array | Удалить все заданные элементы из массива в поле. Если поле не является массивом или поле еще не существует, ему присваивается пустой массив. Эквивалентные количества разных типов (например, 3L и 3.0) считаются равными при принятии решения о необходимости удаления элемента. NaN равно NaN, а Null равно Null. Это удалит все эквивалентные значения, если есть дубликаты. Соответствующий Transform_result будет иметь нулевое значение. |
значение сервера
Значение, рассчитываемое сервером.
Перечисления | |
---|---|
SERVER_VALUE_UNSPECIFIED | Не указано. Это значение нельзя использовать. |
REQUEST_TIME | Время обработки запроса сервером с точностью до миллисекунды. Если используется в нескольких полях (одных или разных документах) в транзакции, все поля получат одну и ту же метку времени сервера. |
Статистика выполнения
Статистика выполнения запроса.
Поля | |
---|---|
results_returned | Общее количество возвращенных результатов, включая документы, прогнозы, результаты агрегирования, ключи. |
execution_duration | Общее время выполнения запроса в серверной части. |
read_operations | Общее количество оплачиваемых операций чтения. |
debug_stats | Отладка статистики выполнения запроса. Обратите внимание, что статистика отладки может меняться по мере развития Firestore. Оно может включать: { "indexes_entries_scanned": "1000", "documents_scanned": "20", "billing_details" : { "documents_billable": "20", "index_entries_billable": "1000", "min_query_cost": "0" } } |
СуществованиеФильтр
Дайджест всех документов, соответствующих заданной цели.
Поля | |
---|---|
target_id | Целевой идентификатор, к которому применяется этот фильтр. |
count | Общее количество документов, соответствующих Если количество соответствующих документов в клиенте отличается от числа, клиент должен вручную определить, какие документы больше не соответствуют целевому значению. Клиент может использовать фильтр Блума |
unchanged_names | Фильтр Блума, который, несмотря на свое название, содержит байтовые кодировки UTF-8 имен ресурсов ВСЕХ документов, соответствующих Этот фильтр Блума может быть опущен по усмотрению сервера, например, если считается, что клиент не будет его использовать, или если его вычисление или передача слишком затратны в вычислительном отношении. Клиенты должны корректно обрабатывать отсутствие этого поля, возвращаясь к логике, использовавшейся до того, как это поле существовало; то есть повторно добавьте цель без токена возобновления, чтобы выяснить, какие документы в кэше клиента не синхронизированы. |
ОбъяснениеМетрики
Объясните метрики для запроса.
Поля | |
---|---|
plan_summary | Информация о этапе планирования для запроса. |
execution_stats | Агрегированная статистика выполнения запроса. Присутствует только в том случае, если |
ОбъяснениеПараметры
Объясните варианты запроса.
Поля | |
---|---|
analyze | Необязательный. Выполнять ли этот запрос. Если установлено значение false (по умолчанию), запрос будет планироваться, возвращая только метрики с этапов планирования. Если значение равно true, запрос будет запланирован и выполнен, возвращая полные результаты запроса вместе с метриками этапов планирования и выполнения. |
Получить документзапрос
Запрос Firestore.GetDocument
.
Поля | |
---|---|
name | Необходимый. Имя ресурса документа, который требуется получить. В формате: |
mask | Поля для возврата. Если не установлено, возвращает все поля. Если в документе есть поле, которого нет в этой маске, это поле не будет возвращено в ответе. |
Объединённое поле consistency_selector . Режим согласованности для этой транзакции. Если не установлено, по умолчанию используется строгая согласованность. consistency_selector может быть только одним из следующих: | |
transaction | Считывает документ в транзакции. |
read_time | Считывает версию документа в данный момент. Это должна быть метка времени с точностью до микросекунды за последний час или, если включено восстановление на момент времени, дополнительно может быть метка времени с точностью до целой минуты за последние 7 дней. |
ListCollectionIdsRequest
Запрос Firestore.ListCollectionIds
.
Поля | |
---|---|
parent | Необходимый. Родительский документ. В формате: |
page_size | Максимальное количество возвращаемых результатов. |
page_token | Токен страницы. Должно быть значение из |
Объединённое поле consistency_selector . Режим согласованности для этого запроса. Если не установлено, по умолчанию используется строгая согласованность. consistency_selector может быть только одним из следующих: | |
read_time | Читает документы в том виде, в каком они были на данный момент. Это должна быть метка времени с точностью до микросекунды за последний час или, если включено восстановление на момент времени, дополнительно может быть метка времени с точностью до целой минуты за последние 7 дней. |
ListCollectionIdsResponse
Ответ от Firestore.ListCollectionIds
.
Поля | |
---|---|
collection_ids[] | Идентификаторы коллекции. |
next_page_token | Токен страницы, который можно использовать для продолжения списка. |
Список документовЗапрос
Запрос Firestore.ListDocuments
.
Поля | |
---|---|
parent | Необходимый. Имя родительского ресурса. В формате: Например: |
collection_id | Необязательный. Идентификатор коллекции относительно Например: Это необязательно, и если оно не указано, Firestore будет отображать документы из всех коллекций, принадлежащих указанному |
page_size | Необязательный. Максимальное количество документов, возвращаемых в одном ответе. Firestore может возвращать меньшее значение, чем это значение. |
page_token | Необязательный. Токен страницы, полученный из предыдущего ответа Предоставьте это, чтобы получить следующую страницу. При разбиении на страницы все остальные параметры (за исключением |
order_by | Необязательный. Факультативный заказ документов для возврата. Например: Это отражает |
mask | Необязательный. Поля для возврата. Если не установлено, возвращает все поля. Если в документе есть поле, которого нет в этой маске, это поле не будет возвращено в ответе. |
show_missing | Если в списке должны быть указаны недостающие документы. Документ отсутствует, если он не существует, но под ним находятся вложенные документы. Если это правда, такие отсутствующие документы будут возвращены с ключом, но не будут иметь установленных полей, Запросы с |
Объединяющее поле consistency_selector . Режим согласованности для этой транзакции. Если не установлено, по умолчанию используется строгая согласованность. consistency_selector может быть только одним из следующих: | |
transaction | Выполните чтение как часть уже активной транзакции. |
read_time | Выполняйте чтение в отведенное время. Это должна быть метка времени с точностью до микросекунды за последний час или, если включено восстановление на момент времени, дополнительно может быть метка времени с точностью до целой минуты за последние 7 дней. |
Список документовОтвет
Ответ на Firestore.ListDocuments
.
Поля | |
---|---|
documents[] | Документы найдены. |
next_page_token | Токен для получения следующей страницы документов. Если это поле опущено, последующие страницы отсутствуют. |
СлушатьЗапрос
Запрос на Firestore.Listen
Поля | |
---|---|
database | Необходимый. Имя базы данных. В формате: |
labels | Ярлыки, связанные с этой целью, изменяются. |
Поле объединения target_change . Поддерживаемая цель изменяется. target_change может быть только одним из следующих: | |
add_target | Цель, которую нужно добавить в этот поток. |
remove_target | Идентификатор цели, которую необходимо удалить из этого потока. |
СлушайтеОтвет
Ответ на Firestore.Listen
.
Поля | |
---|---|
Поле объединения response_type . Поддерживаемые ответы. response_type может быть только одним из следующих: | |
target_change | Цели изменились. |
document_change | |
document_delete | |
document_remove | |
filter | Фильтр, применяемый к набору документов, ранее возвращенных для данного целевого объекта. Возвращается, когда документы могли быть удалены из заданной цели, но точные документы неизвестны. |
MapValue
Значение карты.
Поля | |
---|---|
fields | Поля карты. Ключи карты представляют имена полей. Имена полей, соответствующие регулярному выражению |
PartitionQueryRequest
Запрос Firestore.PartitionQuery
.
Поля | |
---|---|
parent | Необходимый. Имя родительского ресурса. В формате: |
partition_count | Желаемое максимальное количество точек разделения. Разделы могут возвращаться на нескольких страницах результатов. Число должно быть положительным. Фактическое количество возвращаемых разделов может быть меньше. Например, это значение может быть установлено на единицу меньше, чем количество выполняемых параллельных запросов, или при запуске задания конвейера данных — на единицу меньше, чем количество доступных рабочих или вычислительных экземпляров. |
page_token | Значение Например, два последующих вызова с использованием page_token могут вернуть:
Чтобы получить полный набор результатов, упорядоченный по результатам запроса, переданного в PartitionQuery, наборы результатов следует объединить: курсор A, курсор B, курсор M, курсор Q, курсор U, курсор W. |
page_size | Максимальное количество разделов, возвращаемых в этом вызове, с учетом Например, если |
Поле объединения query_type . Запрос на разделение. query_type может быть только одним из следующих: | |
structured_query | Структурированный запрос. Запрос должен указывать коллекцию со всеми потомками и быть упорядочен по возрастанию имени. Другие фильтры, порядок, пределы, смещения и курсоры начала/конца не поддерживаются. |
Объединённое поле consistency_selector . Режим согласованности для этого запроса. Если не установлено, по умолчанию используется строгая согласованность. consistency_selector может быть только одним из следующих: | |
read_time | Читает документы в том виде, в каком они были на данный момент. Это должна быть метка времени с точностью до микросекунды за последний час или, если включено восстановление на момент времени, дополнительно может быть метка времени с точностью до целой минуты за последние 7 дней. |
PartitionQueryResponse
Ответ на Firestore.PartitionQuery
.
Поля | |
---|---|
partitions[] | Результаты раздела. Каждый раздел представляет собой точку разделения, которую RunQuery может использовать в качестве начальной или конечной точки для результатов запроса. Запросы RunQuery должны выполняться с использованием того же запроса, который указан в этом запросе PartitionQuery. Курсоры разделов будут упорядочены в том же порядке, что и результаты запроса, переданного в PartitionQuery. Например, если запрос PartitionQuery возвращает курсоры разделов A и B, выполнение следующих трех запросов вернет весь набор результатов исходного запроса:
Пустой результат может указывать на то, что запрос имеет слишком мало результатов для секционирования или что запрос еще не поддерживается для секционирования. |
next_page_token | Токен страницы, который можно использовать для запроса дополнительного набора результатов, вплоть до числа, указанного в |
ПланСводка
Информация о этапе планирования для запроса.
Поля | |
---|---|
indexes_used[] | Индексы, выбранные для запроса. Например: [ {"query_scope": "Коллекция", "properties": "(foo ASC, name ASC)"}, {"query_scope": "Collection", "properties": "(bar ASC, name ASC)" } ] |
Предварительное условие
Предварительное условие документа, используемое для условных операций.
Поля | |
---|---|
Поле объединения condition_type . Тип предварительного условия. condition_type может быть только одним из следующих: | |
exists | Если установлено значение |
update_time | Если этот параметр установлен, целевой документ должен существовать и быть последний раз обновлен на данный момент. Временная метка должна быть выровнена по микросекундам. |
ОткатЗапрос
Запрос Firestore.Rollback
.
Поля | |
---|---|
database | Необходимый. Имя базы данных. В формате: |
transaction | Необходимый. Транзакция для отката. |
Запустить агрегационный запросрекуест
Запрос Firestore.RunAggregationQuery
.
Поля | |
---|---|
parent | Необходимый. Имя родительского ресурса. В формате: |
explain_options | Необязательный. Объясните варианты запроса. Если установлено, будет возвращена дополнительная статистика запросов. В противном случае будут возвращены только результаты запроса. |
Поле объединения query_type . Запрос для выполнения. query_type может быть только одним из следующих: | |
structured_aggregation_query | Агрегирующий запрос. |
Объединённое поле consistency_selector . Режим согласованности для запроса по умолчанию — строгая согласованность. consistency_selector может быть только одним из следующих: | |
transaction | Запустите агрегацию в рамках уже активной транзакции. Значением здесь является непрозрачный идентификатор транзакции, в которой будет выполнен запрос. |
new_transaction | Запускает новую транзакцию как часть запроса, по умолчанию доступную только для чтения. Новый идентификатор транзакции будет возвращен в качестве первого ответа в потоке. |
read_time | Выполняет запрос в заданную временную метку. Это должна быть метка времени с точностью до микросекунды за последний час или, если включено восстановление на момент времени, дополнительно может быть метка времени с точностью до целой минуты за последние 7 дней. |
ЗапускАгрегацииQueryResponse
Ответ на Firestore.RunAggregationQuery
.
Поля | |
---|---|
result | Единый результат агрегирования. Не отображается при сообщении о частичном прогрессе. |
transaction | Транзакция, которая была запущена в рамках этого запроса. Присутствует только в первом ответе, когда запрос запрашивает начало новой транзакции. |
read_time | Время, за которое был вычислен совокупный результат. Оно всегда монотонно возрастает; в этом случае предыдущий AggregationResult в потоке результатов гарантированно не изменится между их Если запрос не возвращает результатов, будет отправлен ответ с |
explain_metrics | Метрики объяснения запроса. Он присутствует только в том случае, если указан |
Запустить запросрекуест
Запрос к Firestore.RunQuery
.
Поля | |
---|---|
parent | Необходимый. Имя родительского ресурса. В формате: |
explain_options | Необязательный. Объясните варианты запроса. Если установлено, будет возвращена дополнительная статистика запросов. В противном случае будут возвращены только результаты запроса. |
Поле объединения query_type . Запрос для выполнения. query_type может быть только одним из следующих: | |
structured_query | Структурированный запрос. |
Объединённое поле consistency_selector . Режим согласованности для этой транзакции. Если не установлено, по умолчанию используется строгая согласованность. consistency_selector может быть только одним из следующих: | |
transaction | Запустите запрос в рамках уже активной транзакции. Значением здесь является непрозрачный идентификатор транзакции, в которой будет выполнен запрос. |
new_transaction | Начинает новую транзакцию и читает документы. По умолчанию используется транзакция только для чтения. Новый идентификатор транзакции будет возвращен в качестве первого ответа в потоке. |
read_time | Читает документы в том виде, в каком они были на данный момент. Это должна быть метка времени с точностью до микросекунды за последний час или, если включено восстановление на момент времени, дополнительно может быть метка времени с точностью до целой минуты за последние 7 дней. |
Запустить запросответ
Ответ на Firestore.RunQuery
.
Поля | |
---|---|
transaction | Транзакция, которая была запущена в рамках этого запроса. Может быть задано только в первом ответе и только в том случае, если в запросе был установлен |
document | Результат запроса, не заданный при сообщении о частичном ходе выполнения. |
read_time | Время чтения документа. Это может быть монотонно возрастающим; в этом случае предыдущие документы в потоке результатов гарантированно не изменились между их Если запрос не возвращает результатов, будет отправлен ответ с |
skipped_results | Количество результатов, которые были пропущены из-за смещения между последним ответом и текущим ответом. |
explain_metrics | Метрики объяснения запроса. Он присутствует только в том случае, если указан |
Поле объединения continuation_selector . Режим продолжения запроса. Если он присутствует, это указывает на то, что текущий поток ответов на запрос завершен. Это можно установить как с наличием document , так и без него, но если он установлен, результаты больше не возвращаются. continuation_selector может быть только одним из следующих: | |
done | Если он присутствует, Firestore полностью выполнил запрос и документы больше не возвращаются. |
Структурированный запрос агрегации
Запрос Firestore для выполнения агрегации через StructuredQuery
.
Поля | |
---|---|
aggregations[] | Необязательный. Серия агрегатов, применяемых к результатам Требует:
|
Поле объединения query_type . Базовый запрос для агрегирования. query_type может быть только одним из следующих: | |
structured_query | Вложенный структурированный запрос. |
Агрегация
Определяет агрегацию, которая дает один результат.
Поля | |
---|---|
alias | Необязательный. Необязательное имя поля, в котором будет сохранен результат агрегирования. Если оно не указано, Firestore выберет имя по умолчанию в формате
становится:
Требует:
|
Полевой operator Союза. Обязательный тип выполняемой агрегации. operator может быть только одним из следующих: | |
count | Счетный агрегатор. |
sum | Суммарный агрегатор. |
avg | Средний агрегатор. |
Среднее
Среднее значение запрошенного поля.
Будут агрегироваться только числовые значения. Все нечисловые значения, включая
NULL
пропускаются.Если агрегированные значения содержат
NaN
, возвращаетсяNaN
. Математика Infinity соответствует стандартам IEEE-754.Если набор агрегированных значений пуст, возвращается
NULL
.Всегда возвращает результат как двойной.
Поля | |
---|---|
field | Поле для агрегирования. |
Считать
Количество документов, соответствующих запросу.
Функция агрегирования COUNT(*)
работает со всем документом, поэтому не требует ссылки на поле.
Поля | |
---|---|
up_to | Необязательный. Необязательное ограничение на максимальное количество документов для подсчета. Это дает возможность установить верхнюю границу количества сканируемых документов, ограничивая задержку и стоимость. Unspecified интерпретируется как отсутствие ограничений. Пример высокого уровня:
Требует:
|
Сумма
Сумма значений запрошенного поля.
Будут агрегироваться только числовые значения. Все нечисловые значения, включая
NULL
пропускаются.Если агрегированные значения содержат
NaN
, возвращаетсяNaN
. Математика Infinity соответствует стандартам IEEE-754.Если набор агрегированных значений пуст, возвращается 0.
Возвращает 64-битное целое число, если все агрегированные числа являются целыми числами и результат суммы не переполняется. В противном случае результат возвращается как двойной. Обратите внимание: даже если все агрегированные значения являются целыми числами, результат возвращается как двойное число, если он не может поместиться в 64-битное целое число со знаком. В этом случае возвращаемое значение потеряет точность.
Когда происходит опустошение, агрегирование с плавающей запятой является недетерминированным. Это означает, что повторный запуск одного и того же запроса без каких-либо изменений базовых значений может каждый раз давать немного разные результаты. В таких случаях значения следует хранить как целые числа, а не числа с плавающей запятой.
Поля | |
---|---|
field | Поле для агрегирования. |
Структурированный запрос
Запрос Firestore.
Этапы запроса выполняются в следующем порядке: 1. из 2. где 3. выбрать 4. order_by + start_at + end_at 5. смещение 6. предел
Поля | |
---|---|
select | Необязательный подмножество возвращаемых полей. Это действует как |
from[] | Коллекции для запроса. |
where | Фильтр, который нужно применить. |
order_by[] | Порядок применения к результатам запроса. Firestore позволяет вызывающим абонентам обеспечить полный или частичный порядок или вообще не упорядочивать. Во всех случаях Firestore гарантирует стабильный заказ, соблюдая следующие правила:
Поля добавляются в том же направлении сортировки, что и последний указанный порядок, или по возрастанию, если порядок не был указан. Например:
|
start_at | Потенциальный префикс позиции в наборе результатов, с которой начинается запрос. Порядок набора результатов основан на предложении
Результаты этого запроса упорядочены по Курсоры могут ссылаться либо на полный порядок, либо на префикс местоположения, однако они не могут ссылаться на большее количество полей, чем указано в предоставленном Продолжая приведенный выше пример, добавление следующих начальных курсоров будет иметь различный эффект:
В отличие от Требует:
|
end_at | Потенциальный префикс позиции в наборе результатов, на которой завершается запрос. Это похоже на Требует:
|
offset | Количество документов, которые необходимо пропустить перед возвратом первого результата. Это применяется после ограничений, указанных в Требует:
|
limit | Максимальное количество возвращаемых результатов. Применяется после всех остальных ограничений. Требует:
|
find_nearest | Необязательный. Потенциал ближайших соседей ищут поиск. Применяется после всех остальных фильтров и упорядочения. Находит ближайшие векторные внедрения к заданному вектору запроса. |
Селектор коллекций
Выбор коллекции, например messages as m1
.
Поля | |
---|---|
collection_id | Идентификатор коллекции. Если установлено, выбираются только коллекции с этим идентификатором. |
all_descendants | Если установлено значение false, выбираются только коллекции, которые являются непосредственными дочерними элементами |
КомпозитныйФильтр
Фильтр, который объединяет несколько других фильтров с помощью данного оператора.
Поля | |
---|---|
op | Оператор объединения нескольких фильтров. |
filters[] | Список фильтров для объединения. Требует:
|
Оператор
Оператор составного фильтра.
Перечисления | |
---|---|
OPERATOR_UNSPECIFIED | Не указано. Это значение нельзя использовать. |
AND | Документы должны соответствовать всем комбинированным фильтрам. |
OR | Документы должны соответствовать хотя бы одному из комбинированных фильтров. |
Направление
Направление сортировки.
Перечисления | |
---|---|
DIRECTION_UNSPECIFIED | Не указано. |
ASCENDING | По возрастанию. |
DESCENDING | По убыванию. |
ФилдФильтр
Фильтр по определенному полю.
Поля | |
---|---|
field | Поле для фильтрации. |
op | Оператор для фильтрации. |
value | Значение для сравнения. |
Оператор
Оператор фильтра поля.
Перечисления | |
---|---|
OPERATOR_UNSPECIFIED | Не указано. Это значение нельзя использовать. |
LESS_THAN | Данное Требует:
|
LESS_THAN_OR_EQUAL | Данное Требует:
|
GREATER_THAN | Данное Требует:
|
GREATER_THAN_OR_EQUAL | Данное Требует:
|
EQUAL | Данное field равно данному value . |
NOT_EQUAL | Данное Требует:
|
ARRAY_CONTAINS | Данное field представляет собой массив, содержащий заданное value . |
IN | Данное Требует:
|
ARRAY_CONTAINS_ANY | Данное Требует:
|
NOT_IN | Значение Требует:
|
ПолеReference
Ссылка на поле в документе, пример: stats.operations
.
Поля | |
---|---|
field_path | Ссылка на поле в документе. Требует:
|
Фильтр
Фильтр.
Поля | |
---|---|
Поле объединения filter_type . Тип фильтра. filter_type может быть только одним из следующих: | |
composite_filter | Составной фильтр. |
field_filter | Фильтр по полю документа. |
unary_filter | Фильтр, который принимает ровно один аргумент. |
Найти ближайший
Конфигурация поиска ближайших соседей.
Поля | |
---|---|
vector_field | Необходимый. Индексированное векторное поле для поиска. Только документы, которые содержат векторы, размерность которых соответствует Query_Vector, могут быть возвращены. |
query_vector | Необходимый. Вектор запроса, по которому мы ищем. Должен быть вектором не более 2048 измерений. |
distance_measure | Необходимый. Требуется мера расстояния. |
limit | Необходимый. Число ближайших соседей для возврата. Должно быть целым положительным числом не более 1000. |
РасстояниеМера
Мера расстояния, используемая при сравнении векторов.
Перечисления | |
---|---|
DISTANCE_MEASURE_UNSPECIFIED | Не следует устанавливать. |
EUCLIDEAN | Измеряет ЕВКЛИДОВОЕ расстояние между векторами. См. Евклид, чтобы узнать больше. |
COSINE | Сравнивает векторы на основе угла между ними, что позволяет измерить сходство, не основанное на величине векторов. Мы рекомендуем использовать DOT_PRODUCT с единичными нормализованными векторами вместо расстояния COSINE, что математически эквивалентно и обеспечивает лучшую производительность. См. раздел «Косинусное сходство» , чтобы узнать больше. |
DOT_PRODUCT | Аналогично косинусу, но на него влияет величина векторов. См. «Скалярное произведение» , чтобы узнать больше. |
Заказ
Порядок на поле.
Поля | |
---|---|
field | Поле для заказа. |
direction | Направление заказа. По умолчанию — ПО |
Проекция
Проекция возвращаемых полей документа.
Поля | |
---|---|
fields[] | Поля для возврата. Если пусто, возвращаются все поля. Чтобы вернуть только имя документа, используйте |
УнарныйФильтр
Фильтр с одним операндом.
Поля | |
---|---|
op | Унарный оператор, который нужно применить. |
Поле operand_type . Аргумент в фильтр. operand_type может быть только одним из следующих: | |
field | Поле, к которому применяется оператор. |
Оператор
Унарный оператор.
Перечисления | |
---|---|
OPERATOR_UNSPECIFIED | Не указано. Это значение нельзя использовать. |
IS_NAN | Данное field равно NaN . |
IS_NULL | Данное field равно NULL . |
IS_NOT_NAN | Данное Требует:
|
IS_NOT_NULL | Данное Требует:
|
Цель
Спецификация набора документов для прослушивания.
Поля | |
---|---|
target_id | Целевой идентификатор, который идентифицирует цель на потоке. Должен быть положительное число и ненулевое. Если Обратите внимание, что если клиент отправляет несколько запросов Если |
once | Если цель должна быть удалена после того, как она будет тока и последовательна. |
expected_count | Количество документов, которые в последний раз соответствовали запросу в токене резюме или времени чтения. Это значение имеет отношение только к предоставлению |
Поле Союза target_type . Тип цели для прослушивания. target_type может быть только одним из следующих: | |
query | Цель, указанная в запросе. |
documents | Цель, указанная набором имен документов. |
Полевое поле Если указано, будут возвращены только соответствующие документы, которые были обновлены после возврата | |
resume_token | Токен резюме от предыдущей Использование токена резюме с другой целью не поддерживается и может потерпеть неудачу. |
read_time | Начните слушать после конкретного Клиент должен знать состояние соответствующих документов в настоящее время. |
DocumentStarget
Цель, указанная набором имен документов.
Поля | |
---|---|
documents[] | Имена документов для извлечения. В формате: |
QueryTarget
Цель, указанная в запросе.
Поля | |
---|---|
parent | Имя родительского ресурса. В формате: |
Полевое поле Union query_type . Запрос для бега. query_type может быть только одним из следующих: | |
structured_query | Структурированный запрос. |
TargetChange
Цели, которые наблюдаются, изменились.
Поля | |
---|---|
target_change_type | Тип изменения, которые произошли. |
target_ids[] | Целевые идентификаторы целей, которые изменились. Если пустое, изменение относится ко всем целям. Порядок целевых идентификаторов не определен. |
cause | Ошибка, которая привела к этому изменению, если применимо. |
resume_token | Токен, который можно использовать для возобновления потока для данной Не устанавливается на все изменения цели. |
read_time | Последовательный Поток гарантированно отправит Для данного потока |
TargetChangeType
Тип изменения.
Перечисления | |
---|---|
NO_CHANGE | Никаких изменений не произошло. Используется только для отправки обновленного resume_token . |
ADD | Цели были добавлены. |
REMOVE | Цели были удалены. |
CURRENT | Цели отражают все изменения, совершенные до того, как цели были добавлены в поток. Это будет отправлено после или с Слушатели могут ждать этого изменения, если желательна семантика чтения-записи. |
RESET | Цели были сброшены, и новое начальное состояние для целей будет возвращено в последующих изменениях. После завершения начального состояния |
Transactionoptions
Варианты создания новой транзакции.
Поля | |
---|---|
Полевой mode Союза. Режим транзакции. mode может быть только одним из следующих: | |
read_only | Транзакция может использоваться только для операций чтения. |
read_write | Транзакция может использоваться как для операций чтения, так и для записи. |
Ридонли
Варианты транзакции, которую можно использовать только для чтения документов.
Поля | |
---|---|
Союз поля consistency_selector . Режим согласованности для этой транзакции. Если не установлено, по умолчанию к сильной последовательности. consistency_selector может быть только одним из следующих: | |
read_time | Читает документы в данный момент. Это должна быть микросекундная точная метка времени в течение последнего часа, или, если включено восстановление времени, может быть дополнительно быть целой минутной меткой времени в течение последних 7 дней. |
ЧтениеЗапись
Параметры для транзакции, которую можно использовать для чтения и написания документов.
Firestore не разрешает сторонние запросы автозаправочных запросов на создание чтения. транзакции.
Поля | |
---|---|
retry_transaction | Дополнительная транзакция для повторения. |
UpdatedocumentRequest
Запрос на Firestore.UpdateDocument
.
Поля | |
---|---|
document | Необходимый. Обновленный документ. Создает документ, если его еще не существует. |
update_mask | Поля для обновления. Ни один из полевых путей в маске не может содержать зарезервированное имя. Если документ существует на сервере и имеет поля, не упомянутые в маске, они остаются без изменений. Поля, указанные в маске, но отсутствующие во входном документе, удаляются из документа на сервере. |
mask | Поля для возврата. Если не установлено, возвращает все поля. Если в документе есть поле, которого нет в этой маске, это поле не будет возвращено в ответ. |
current_document | Необязательное предварительное условие в документе. Запрос потерпит неудачу, если он будет установлен и не будет выполнен целевым документом. |
Ценить
Сообщение, которое может удерживать любой из поддерживаемых типов значений.
Поля | |
---|---|
value_type поля Union_type. Должен иметь набор значений. value_type может быть только одним из следующих: | |
null_value | Нулевое значение. |
boolean_value | Логическое значение. |
integer_value | Целочисленное значение. |
double_value | Двойное значение. |
timestamp_value | Значение временной метки. Точно только к микросекундам. При хранении любая дополнительная точность округлена. |
string_value | Строковое значение. Строка, представленная как UTF -8, не должна превышать 1 Mib - 89 байтов. Только первые 1500 байтов представления UTF-8 рассматриваются запросами. |
bytes_value | Значение байтов. Не должно превышать 1 миб - 89 байт. Только первые 1500 байтов рассматриваются по запросам. |
reference_value | Ссылка на документ. Например: |
geo_point_value | Значение точки гео, представляющее точку на поверхности Земли. |
array_value | Значение массива. Не может напрямую содержать другое значение массива, хотя может содержать карту, которая содержит другой массив. |
map_value | Значение карты. |
Писать
Написать в документе.
Поля | |
---|---|
update_mask | Поля для обновления в этой записи. Это поле можно установить только при операции |
update_transforms[] | Преобразования, которые необходимо выполнить после обновления. Это поле можно установить только при операции |
current_document | Необязательное предварительное условие в документе. Запись завершится неудачно, если это установлено и не соответствует целевому документу. |
Полевая operation Союза. Операция, которую необходимо выполнить. operation может быть только одной из следующих: | |
update | Документ для написания. |
delete | Имя документа, который нужно удалить. В формате: |
transform | Применяет преобразование к документу. |
WriteRequest
Запрос на Firestore.Write
.
Первый запрос создает поток или возобновляет существующий из токена.
При создании нового потока сервер отвечает ответом, содержащим только идентификатор и токен, для использования в следующем запросе.
При возобновлении потока сервер сначала транслирует любые ответы позже, чем заданный токен, затем ответ, содержащий только современный токен, для использования в следующем запросе.
Поля | |
---|---|
database | Необходимый. Имя базы данных. В формате: |
stream_id | Идентификатор потока записи, чтобы возобновить. Это может быть установлено только в первом сообщении. Когда останется пустым, будет создан новый поток записи. |
writes[] | Пишет подать заявку. Всегда выполняется атомно и в порядке. Это должно быть пусто по первым запросам. Это может быть пусто по последнему запросу. Это не должно быть пустым по всем другим запросам. |
stream_token | Токен потока, который ранее был отправлен сервером. Клиент должен установить это поле в токен из последнего полученного Сервер может закрыть поток, если есть слишком много неподтвержденных ответов. Оставьте это поле неоткрыто при создании нового потока. Чтобы возобновить поток в определенной точке, установите это поле и поле Оставьте это поле неоткрыто при создании нового потока. |
labels | Метки, связанные с этим запросом на запись. |
Писательница
Ответ для Firestore.Write
.
Поля | |
---|---|
stream_id | Идентификатор потока. Установите только первое сообщение, когда был создан новый поток. |
stream_token | Токен, который представляет позицию этого ответа в потоке. Это может использоваться клиентом для возобновления потока на этом этапе. Это поле всегда установлено. |
write_results[] | Результат применения записи. Этот i-й результат записи соответствует i-й записи в запросе. |
commit_time | Время, в которое произошел коммит. Любое чтение с равным или большим |
Писатель
Результат применения записи.
Поля | |
---|---|
update_time | Последнее время обновления документа после применения записи. Не установлен после Если запись фактически не изменила документ, это будет предыдущее Update_time. |
transform_results[] | Результаты применения каждого |