@firebase/firestore/lite

Функции

Функция Описание
функция (приложение, ...)
getFirestore (приложение) Возвращает существующий экземпляр Firestore по умолчанию, связанный с предоставленным FirebaseApp. . Если экземпляра не существует, инициализирует новый экземпляр с настройками по умолчанию.
getFirestore (приложение, идентификатор базы данных) (БЕТА) Возвращает существующий экземпляр Firestore , связанный с предоставленным приложением FirebaseApp. . Если экземпляра не существует, инициализирует новый экземпляр с настройками по умолчанию.
инициализироватьFirestore (приложение, настройки) Инициализирует новый экземпляр Cloud Firestore с предоставленными настройками. Может быть вызван только перед любыми другими функциями, включая getFirestore(). . Если пользовательские настройки пусты, эта функция эквивалентна вызову getFirestore(). .
инициализироватьFirestore (приложение, настройки, идентификатор базы данных) (БЕТА) Инициализирует новый экземпляр Cloud Firestore с предоставленными настройками. Может быть вызван только перед любыми другими функциями, включая getFirestore(). . Если пользовательские настройки пусты, эта функция эквивалентна вызову getFirestore(). .
функция(пожарная, ...)
коллекция (firestore, путь, pathSegments) Получает экземпляр CollectionReference , который ссылается на коллекцию по указанному абсолютному пути.
CollectionGroup(Firestore, CollectionId) Создает и возвращает новый экземпляр Query , включающий все документы в базе данных, содержащиеся в коллекции или подколлекции с заданным collectionId .
ConnectFirestoreEmulator (firestore, хост, порт, параметры) Измените этот экземпляр для связи с эмулятором Cloud Firestore. Примечание. Его необходимо вызвать до того, как этот экземпляр будет использоваться для выполнения каких-либо операций.
документ (firestore, путь, pathSegments) Получает экземпляр DocumentReference , который ссылается на документ по указанному абсолютному пути.
runTransaction (firestore, updateFunction, параметры) Выполняет заданную updateFunction , а затем пытается зафиксировать изменения, примененные в транзакции. Если какой-либо документ, прочитанный в транзакции, изменился, Cloud Firestore повторяет updateFunction . Если после 5 попыток не удалось зафиксировать транзакцию, она завершится неудачей. Максимальное количество операций записи, разрешенное в одной транзакции, составляет 500.
прекратить (пожарный магазин) Завершает предоставленный экземпляр Firestore . После вызова terminate() можно использовать только функции clearIndexedDbPersistence() . Любая другая функция выдаст FirestoreError . Завершение не отменяет никакие ожидающие записи, и любые обещания, ожидающие ответа от сервера, не будут разрешены. Чтобы перезапустить после завершения, создайте новый экземпляр Firestore с помощью getFirestore(). . Примечание. В обычных обстоятельствах вызов метода terminate() не требуется. Эта функция полезна только в том случае, если вы хотите заставить этот экземпляр освободить все свои ресурсы, или в сочетании с функциейclearIndexedDbPersistence() , чтобы гарантировать, что все локальное состояние уничтожается между запусками тестов.
writeBatch (пожарный магазин) Создает пакет записи, используемый для выполнения нескольких операций записи как одной атомарной операции. Максимальное количество операций записи, разрешенное в одном WriteBatch, составляет 500. Результат этих записей будет отражен только при чтении документа, которое происходит после разрешения возвращенного обещания. Если клиент находится в автономном режиме, запись не выполняется. Если вы хотите видеть локальные изменения или записи в буфер, пока клиент не будет подключен к сети, используйте полную версию Firestore SDK.
функция()
считать() Создайте объект AggregateField, который можно использовать для вычисления количества документов в наборе результатов запроса.
удалитьField() Возвращает контрольный показатель для использования с updateDoc() или setDoc() с {merge: true} , чтобы пометить поле для удаления.
идентификатор документа() Возвращает специальный контрольный FieldPath для ссылки на идентификатор документа. Его можно использовать в запросах для сортировки или фильтрации по идентификатору документа.
getFirestore() Возвращает существующий экземпляр Firestore по умолчанию, связанный с FirebaseApp по умолчанию. . Если экземпляра не существует, инициализирует новый экземпляр с настройками по умолчанию.
серверTimestamp() Возвращает контрольный показатель, используемый с помощью setDoc() или updateDoc() для включения в записываемые данные временной метки, сгенерированной сервером.
функция (идентификатор базы данных, ...)
getFirestore (идентификатор базы данных) (БЕТА) Возвращает существующий экземпляр Firestore , связанный с FirebaseApp по умолчанию. . Если экземпляра не существует, инициализирует новый экземпляр с настройками по умолчанию.
функция(элементы, ...)
массивRemove (элементы) Возвращает специальное значение, которое можно использовать с setDoc() или которое сообщает серверу удалить данные элементы из любого значения массива, которое уже существует на сервере. Все экземпляры каждого указанного элемента будут удалены из массива. Если изменяемое поле еще не является массивом, оно будет перезаписано пустым массивом.
массивUnion (элементы) Возвращает специальное значение, которое можно использовать с setDoc() или updateDoc() , которое сообщает серверу объединить данные элементы с любым значением массива, которое уже существует на сервере. Каждый указанный элемент, которого еще нет в массиве, будет добавлен в конец. Если изменяемое поле еще не является массивом, оно будет перезаписано массивом, содержащим именно указанные элементы.
функция(поле, ...)
среднее (поле) Создайте объект AggregateField, который можно использовать для вычисления среднего значения указанного поля по диапазону документов в наборе результатов запроса.
сумма (поле) Создайте объект AggregateField, который можно использовать для вычисления суммы указанного поля по диапазону документов в наборе результатов запроса.
функция (путь к полю, ...)
orderBy (fieldPath, направлениеStr) Создает QueryOrderByConstraint , который сортирует результат запроса по указанному полю, при необходимости в порядке убывания, а не по возрастанию. Примечание. Документы, не содержащие указанного поля, не будут присутствовать в результатах запроса.
где (fieldPath, opStr, значение) Создает QueryFieldFilterConstraint , который гарантирует, что документы должны содержать указанное поле и что значение должно удовлетворять предоставленному ограничению отношения.
функция (значения полей, ...)
endAt(значения полей) Создает QueryEndAtConstraint , который изменяет набор результатов, чтобы он заканчивался указанными полями относительно порядка запроса. Порядок значений полей должен соответствовать порядку пунктов запроса.
endBefore (значения полей) Создает QueryEndAtConstraint , который изменяет набор результатов, чтобы он заканчивался перед предоставленными полями относительно порядка запроса. Порядок значений полей должен соответствовать порядку пунктов запроса.
startAfter (значения полей) Создает QueryStartAtConstraint , который изменяет набор результатов, чтобы он начинался после предоставленных полей относительно порядка запроса. Порядок значений полей должен соответствовать порядку пунктов запроса.
startAt(значения полей) Создает QueryStartAtConstraint , который изменяет набор результатов, чтобы он начинался с предоставленных полей относительно порядка запроса. Порядок значений полей должен соответствовать порядку пунктов запроса.
функция (слева, ...)
агрегатFieldEqual(слева, справа) Сравнивает два AggregateField ` экземпляры для равенства.
агрегатQuerySnapshotEqual(слева, справа) Сравнивает два экземпляра AggregateQuerySnapshot на предмет равенства. Два экземпляра AggregateQuerySnapshot считаются «равными», если у них есть базовые запросы, которые сравнивают равные и одинаковые данные.
queryEqual (слева, справа) Возвращает true, если предоставленные запросы указывают на одну и ту же коллекцию и применяют одни и те же ограничения.
refEqual(слева, справа) Возвращает true, если предоставленные ссылки равны.
снимокEqual(слева, справа) Возвращает true, если предоставленные снимки равны.
функция(предел, ...)
лимит (лимит) Создает QueryLimitConstraint , который возвращает только первые соответствующие документы.
limitToLast(ограничение) Создает QueryLimitConstraint , который возвращает только последние соответствующие документы. Вы должны указать хотя бы одно предложение orderBy для запросов limitToLast , иначе во время выполнения будет выдано исключение.
функция (logLevel, ...)
setLogLevel (уровень журнала) Устанавливает уровень детализации журналов Cloud Firestore (отладка, ошибка или без звука).
функция (п, ...)
приращение (n) Возвращает специальное значение, которое можно использовать с setDoc() или updateDoc() , которое сообщает серверу увеличить текущее значение поля на заданное значение. Если операнд или текущее значение поля используют точность с плавающей запятой, вся арифметика соответствует семантике IEEE 754. Если оба значения являются целыми числами, значения за пределами безопасного диапазона чисел JavaScript ( Number.MIN_SAFE_INTEGER до Number.MAX_SAFE_INTEGER ) также подвержены потере точности. Более того, после обработки бэкэндом Firestore все целочисленные операции ограничиваются диапазоном от -2^63 до 2^63-1. Если текущее значение поля не имеет типа number или если поле еще не существует, преобразование присваивает полю заданное значение.
функция (запрос, ...)
getAggregate (запрос, агрегатная спецификация) Вычисляет указанные агрегаты по документам в наборе результатов данного запроса без фактической загрузки документов. Использование этой функции для выполнения агрегирования эффективно, поскольку загружаются только окончательные значения агрегирования, а не данные документов. Эта функция может выполнять агрегирование документов в тех случаях, когда набор результатов слишком велик для загрузки целиком (тысячи документов).
getCount (запрос) Вычисляет количество документов в наборе результатов данного запроса без фактической загрузки документов. Использование этой функции для подсчета документов эффективно, поскольку загружаются только окончательные результаты подсчета, а не данные документов. Эта функция может подсчитывать документы в тех случаях, когда набор результатов слишком велик для загрузки целиком (тысячи документов).
получитьДокументы (запрос) Выполняет запрос и возвращает результаты в виде QuerySnapshot. . Все запросы выполняются непосредственно сервером, даже если запрос уже был выполнен ранее. Недавние изменения отражаются в полученных результатах только в том случае, если они уже были применены серверной частью. Если клиент находится в автономном режиме, операция завершается неудачно. Чтобы увидеть ранее кэшированный результат и локальные изменения, используйте полную версию Firestore SDK.
запрос (запрос, составной фильтр, queryConstraints) Создает новый неизменяемый экземпляр Query , который расширяется и включает дополнительные ограничения запроса.
запрос (запрос, queryConstraints) Создает новый неизменяемый экземпляр Query , который расширяется и включает дополнительные ограничения запроса.
функция (queryConstraints, ...)
и (ограничения запроса) Создает новый QueryCompositeFilterConstraint , который является сочетанием заданных ограничений фильтра. Фильтр конъюнкции включает документ, если он удовлетворяет всем заданным фильтрам.
или(queryConstraints) Создает новый QueryCompositeFilterConstraint , который является дизъюнкцией заданных ограничений фильтра. Фильтр дизъюнкции включает документ, если он удовлетворяет любому из заданных фильтров.
функция (ссылка, ...)
addDoc(ссылка, данные) Добавьте новый документ в указанную CollectionReference с заданными данными, автоматически присвоив ему идентификатор документа. Результат этой записи будет отражен только при чтении документа, которое происходит после разрешения возвращенного обещания. Если клиент находится в автономном режиме, запись не выполняется. Если вы хотите видеть локальные изменения или записи в буфер, пока клиент не будет подключен к сети, используйте полную версию Firestore SDK.
коллекция (ссылка, путь, pathSegments) Получает экземпляр CollectionReference , который ссылается на ссылочную reference коллекцию по указанному относительному пути.
коллекция (ссылка, путь, pathSegments) Получает экземпляр CollectionReference , который ссылается на ссылочную reference коллекцию по указанному относительному пути.
удалитьDoc (ссылка) Удаляет документ, на который ссылается указанный DocumentReference . Удаление будет отражено только при чтении документа, которое происходит после разрешения возвращенного обещания. Если клиент находится в автономном режиме, удаление не удастся. Если вы хотите видеть локальные изменения или записи в буфер, пока клиент не будет подключен к сети, используйте полную версию Firestore SDK.
документ (ссылка, путь, сегменты пути) Получает экземпляр DocumentReference , который ссылается на документ в reference по указанному относительному пути. Если путь не указан, для возвращаемого DocumentReference будет использоваться автоматически сгенерированный уникальный идентификатор.
документ (ссылка, путь, сегменты пути) Получает экземпляр DocumentReference , который ссылается на документ в reference по указанному относительному пути.
getDoc (ссылка) Считывает документ, на который ссылается указанная ссылка на документ. Все документы извлекаются напрямую с сервера, даже если документ ранее был прочитан или изменен. Недавние изменения отражаются в полученном DocumentSnapshot только в том случае, если они уже были применены серверной частью. Если клиент находится в автономном режиме, чтение не выполняется. Если вы хотите использовать кеширование или просматривать локальные изменения, используйте полную версию Firestore SDK.
setDoc (ссылка, данные) Записывает документ, на который ссылается указанный DocumentReference . Если документ еще не существует, он будет создан. Результат этой записи будет отражен только при чтении документа, которое происходит после разрешения возвращенного обещания. Если клиент находится в автономном режиме, запись не выполняется. Если вы хотите видеть локальные изменения или записи в буфер, пока клиент не будет подключен к сети, используйте полную версию Firestore SDK.
setDoc(ссылка, данные, параметры) Записывает документ, на который ссылается указанный DocumentReference . Если документ еще не существует, он будет создан. Если вы предоставляете merge или mergeFields , предоставленные данные можно объединить с существующим документом. Результат этой записи будет отражен только при чтении документа, которое происходит после разрешения возвращенного обещания. Если клиент находится в автономном режиме, запись не выполняется. Если вы хотите видеть локальные изменения или записи в буфер, пока клиент не будет подключен к сети, используйте полную версию Firestore SDK.
updateDoc(ссылка, данные) Обновляет поля в документе, на который ссылается указанный DocumentReference . Обновление завершится неудачно, если оно будет применено к несуществующему документу. Результат этого обновления будет отражен только при чтении документа, которое происходит после разрешения возвращенного обещания. Если клиент находится в автономном режиме, обновление не удастся. Если вы хотите видеть локальные изменения или записи в буфер, пока клиент не будет подключен к сети, используйте полную версию Firestore SDK.
updateDoc (ссылка, поле, значение, moreFieldsAndValues) Обновляет поля в документе, на который ссылается указанная DocumentReference Обновление завершится неудачно, если оно будет применено к несуществующему документу. Вложенные поля можно обновлять, предоставляя строки путей к полям, разделенные точками, или предоставляя объекты FieldPath . Результат этого обновления будет отражен только при чтении документа, которое происходит после разрешения возвращенного обещания. Если клиент находится в автономном режиме, обновление не удастся. Если вы хотите видеть локальные изменения или записи в буфер, пока клиент не будет подключен к сети, используйте полную версию Firestore SDK.
функция (снимок, ...)
endAt(снимок) Создает QueryEndAtConstraint , который изменяет набор результатов так, чтобы он заканчивался на предоставленном документе (включительно). Конечная позиция зависит от порядка запроса. Документ должен содержать все поля, указанные в orderBy запроса.
endBefore (снимок) Создает QueryEndAtConstraint , который изменяет набор результатов, чтобы он заканчивался до предоставленного документа (эксклюзивный). Конечная позиция зависит от порядка запроса. Документ должен содержать все поля, указанные в orderBy запроса.
startAfter(снимок) Создает QueryStartAtConstraint , который изменяет набор результатов, чтобы он начинался после предоставленного документа (эксклюзивно). Начальная позиция зависит от порядка запроса. Документ должен содержать все поля, указанные в orderBy запроса.
startAt(снимок) Создает QueryStartAtConstraint , который изменяет набор результатов, чтобы он начинался с предоставленного документа (включительно). Начальная позиция зависит от порядка запроса. Документ должен содержать все поля, указанные в orderBy этого запроса.

Классы

Сорт Описание
Агрегатефилд Представляет агрегацию, которую может выполнить Firestore.
Снимок агрегатного запроса Результаты выполнения запроса агрегации.
Байты Неизменяемый объект, представляющий массив байтов.
КоллекцияСправочник Объект CollectionReference можно использовать для добавления документов, получения ссылок на документы и запроса документов (с помощью query()). ).
Ссылка на документ DocumentReference относится к местоположению документа в базе данных Firestore и может использоваться для записи, чтения или прослушивания этого местоположения. Документ в указанном месте может существовать, а может и не существовать.
Снимок документа DocumentSnapshot содержит данные, считанные из документа в вашей базе данных Firestore. Данные можно извлечь с помощью .data() или .get(<field>) для получения определенного поля. Для DocumentSnapshot , который указывает на несуществующий документ, любой доступ к данным вернет «неопределенное». Вы можете использовать метод exists() для явной проверки существования документа.
ФилдПат FieldPath относится к полю в документе. Путь может состоять из одного имени поля (ссылающегося на поле верхнего уровня в документе) или списка имен полей (ссылающегося на вложенное поле в документе). Создайте FieldPath , указав имена полей. Если указано более одного имени поля, путь будет указывать на вложенное поле в документе.
ПолеValue Значения Sentinel, которые можно использовать при записи полей документа с помощью set() или update() .
Пожарная лавка Интерфейс сервиса Cloud Firestore. Не вызывайте этот конструктор напрямую. Вместо этого используйте getFirestore() .
FirestoreError Ошибка, возвращаемая операцией Firestore.
ГеоПойнт Неизменяемый объект, представляющий географическое местоположение в Firestore. Местоположение представлено в виде пары широты и долготы. Значения широты находятся в диапазоне [-90, 90]. Значения долготы находятся в диапазоне [-180, 180].
Запрос Query относится к запросу, который вы можете прочитать или прослушать. Вы также можете создавать уточненные объекты Query , добавляя фильтры и упорядочивая их.
QueryCompositeFilterConstraint QueryCompositeFilterConstraint используется для сужения набора документов, возвращаемых запросом Firestore, путем выполнения логического ИЛИ или И нескольких QueryFieldFilterConstraint . s или QueryCompositeFilterConstraint с. QueryCompositeFilterConstraint создаются путем вызова or() или and() и затем могут быть переданы в query() для создания нового экземпляра запроса, который также содержит QueryCompositeFilterConstraint .
Ограничение запроса QueryConstraint используется для сужения набора документов, возвращаемых запросом Firestore. QueryConstraint создаются путем вызоваwhere () , Сортировать по() , начатьВ() , стартПосле() , КонецПеред() , КонецАт() , лимит() , limitToLast() и затем может быть передан в query() для создания нового экземпляра запроса, который также содержит этот QueryConstraint .
Снимок документа запроса QueryDocumentSnapshot содержит данные, считанные из документа в вашей базе данных Firestore как часть запроса. Документ гарантированно существует, и его данные можно извлечь с помощью .data() или .get(<field>) для получения определенного поля. QueryDocumentSnapshot предлагает ту же поверхность API, что и DocumentSnapshot . Поскольку результаты запроса содержат только существующие документы, свойство exists всегда будет иметь значение true, а data() никогда не вернет значение «неопределено».
QueryEndAtConstraint QueryEndAtConstraint используется для исключения документов из конца набора результатов, возвращаемого запросом Firestore. QueryEndAtConstraint создаются путем вызова endAt() или endBefore() и затем могут быть переданы в query() для создания нового экземпляра запроса, который также содержит этот QueryEndAtConstraint .
Ограничение QueryFieldFilterConstraint QueryFieldFilterConstraint используется для сужения набора документов, возвращаемых запросом Firestore, путем фильтрации по одному или нескольким полям документа. QueryFieldFilterConstraint создаются путем вызоваwhere() и затем могут быть переданы в query() для создания нового экземпляра запроса, который также содержит этот QueryFieldFilterConstraint .
Ограничение QueryLimitConstraint QueryLimitConstraint используется для ограничения количества документов, возвращаемых запросом Firestore. QueryLimitConstraint создаются путем вызова limit() или limitToLast() и затем могут быть переданы в query() для создания нового экземпляра запроса, который также содержит этот QueryLimitConstraint .
QueryOrderByConstraint QueryOrderByConstraint используется для сортировки набора документов, возвращаемых запросом Firestore. QueryOrderByConstraint создаются путем вызова orderBy() и затем могут быть переданы в query() для создания нового экземпляра запроса, который также содержит этот QueryOrderByConstraint . Примечание. Документы, не содержащие поле orderBy, не будут присутствовать в результатах запроса.
Снимок запроса QuerySnapshot содержит ноль или более объектов DocumentSnapshot , представляющих результаты запроса. Доступ к документам можно получить как массив через свойство docs или перечислить с помощью метода forEach . Количество документов можно определить с помощью свойств empty и size .
QueryStartAtConstraint QueryStartAtConstraint используется для исключения документов из начала набора результатов, возвращаемого запросом Firestore. QueryStartAtConstraint создаются путем вызова startAt() или startAfter() и затем могут быть переданы в query() для создания нового экземпляра запроса, который также содержит этот QueryStartAtConstraint .
Временная метка Timestamp представляет собой момент времени, не зависящий от часового пояса или календаря, представленный в секундах и долях секунды с наносекундным разрешением по времени UTC Epoch. Он кодируется с использованием пролептического григорианского календаря, который расширяет григорианский календарь назад до первого года. При кодировании предполагается, что все минуты имеют продолжительность 60 секунд, т. е. секунды координации «размазаны», так что для интерпретации не требуется таблица дополнительных секунд. Диапазон от 0001-01-01T00:00:00Z до 9999-12-31T23:59:59.999999999Z. Примеры и дополнительные характеристики см. в определении Timestamp. .
Сделка Ссылка на транзакцию. Объект Transaction , передаваемый в updateFunction транзакции, предоставляет методы для чтения и записи данных в контексте транзакции. См. runTransaction(). .
Запись пакета Пакет записи, используемый для выполнения нескольких операций записи как одной атомарной единицы. Объект WriteBatch можно получить, вызвав writeBatch(). . Он предоставляет методы для добавления операций записи в пакет записи. Ни одна запись не будет зафиксирована (и не будет видна локально) до тех пор, пока не будет вызван WriteBatch.commit() .

Интерфейсы

Интерфейс Описание
Агрегатная спецификация Указывает набор агрегатов и их псевдонимов.
ДокументДанные Данные документа (для использования с setDoc()) ) состоит из полей, сопоставленных со значениями.
FirestoreDataConverter Конвертер, используемый withConverter() для преобразования пользовательских объектов типа AppModelType в данные Firestore типа DbModelType . Использование конвертера позволяет указывать аргументы универсального типа при хранении и извлечении объектов из Firestore. В этом контексте «AppModel» — это класс, который используется в приложении для упаковки связанной информации и функций. Такой класс может, например, иметь свойства со сложными вложенными типами данных, свойства, используемые для запоминания, свойства типов, не поддерживаемых Firestore (таких как symbol и bigint ), а также вспомогательные функции, выполняющие составные операции. Такие классы не подходят и/или невозможны для хранения в базе данных Firestore. Вместо этого экземпляры таких классов необходимо преобразовать в «простые старые объекты JavaScript» (POJO) с исключительно примитивными свойствами, потенциально вложенными внутри других POJO или массивов POJO. В этом контексте этот тип называется «DbModel» и может быть объектом, подходящим для сохранения в Firestore. Для удобства приложения могут реализовать FirestoreDataConverter и зарегистрировать преобразователь с объектами Firestore, такими как DocumentReference или Query , для автоматического преобразования AppModel в DbModel при сохранении в Firestore и преобразования DbModel в AppModel при извлечении из Firestore.
Настройки Указывает пользовательские конфигурации для вашего экземпляра Cloud Firestore. Вы должны установить их перед вызовом любых других методов.
Параметры транзакции Опции для настройки поведения транзакций.

Введите псевдонимы

Введите псевдоним Описание
Аддпрефикстокейс Возвращает новую карту, в которой перед каждым ключом стоит внешний ключ, добавленный к точке.
Агрегатефилдтипе Объединение всех типов AggregateField , поддерживаемых Firestore.
АгрегатеСпецДанные Тип, ключи которого взяты из AggregateSpec , а значения являются результатом агрегации, выполняемой соответствующим AggregateField из входного AggregateSpec .
Агрегатетип Тип объединения, представляющий тип агрегата, который будет выполняться.
ChildUpdateFields Помощник для расчета вложенных полей для данного типа T1. Это необходимо для распределения типов объединения, таких как undefined | {...} (происходит для необязательных реквизитов) или {a: A} | {b: B} . В этом случае V используется для распределения типов объединения T[K] в Record , поскольку T[K] оценивается как выражение и не распространяется. См. https://www.typescriptlang.org/docs/handbook/advanced-types.html#distributive-conditional-types.
FirestoreErrorCode Набор кодов состояния Firestore. Коды такие же, как и те, которые предоставляет gRPC здесь: https://github.com/grpc/grpc/blob/master/doc/statuscodes.md. Возможные значения: - «отменено»: операция была отменена (обычно вызывающей стороной). - «неизвестно»: неизвестная ошибка или ошибка из другого домена ошибок. - «неверный аргумент»: клиент указал недопустимый аргумент. Обратите внимание, что это отличается от «неудачного предварительного условия». 'invalid-argument' указывает аргументы, которые являются проблематичными независимо от состояния системы (например, недопустимое имя поля). - «крайний срок превышен»: срок истек до завершения операции. Для операций, изменяющих состояние системы, эта ошибка может возвращаться, даже если операция завершилась успешно. Например, успешный ответ от сервера мог быть отложен на время, достаточное для истечения крайнего срока. - «не найден»: некоторый запрошенный документ не найден. - «уже существует»: некоторый документ, который мы пытались создать, уже существует. - 'permission-denied': вызывающая сторона не имеет разрешения на выполнение указанной операции. - «ресурс исчерпан»: какой-то ресурс исчерпан, возможно, квота на пользователя или, возможно, во всей файловой системе недостаточно места. - «неудачное предварительное условие»: операция была отклонена, поскольку система не находится в состоянии, необходимом для выполнения операции. - «прервано»: операция была прервана, обычно из-за проблемы параллелизма, например, прерывания транзакций и т. д. - «вне диапазона»: попытка выполнения операции вышла за пределы допустимого диапазона. - «не реализовано»: операция не реализована или не поддерживается/включена. - «внутренний»: внутренние ошибки. Означает, что некоторые инварианты, ожидаемые базовой системой, нарушены. Если вы видите одну из этих ошибок, значит что-то сильно сломано. - «недоступно»: услуга в настоящее время недоступна. Скорее всего, это временное состояние, которое можно исправить, повторив попытку с отсрочкой. - «потеря данных»: невосстановимая потеря или повреждение данных. - «неаутентифицированный»: запрос не имеет действительных учетных данных аутентификации для операции.
ВложенныеUpdateFields Для каждого поля (например, «бар») найдите все вложенные ключи (например, { «bar.baz»: T1, «bar.qux»: T2 } ). Пересеките их вместе, чтобы создать единую карту, содержащую все возможные ключи, которые помечены как необязательные.
Заказ по направлению Направление предложения orderBy() указывается как «по убыванию» или «по возрастанию» (по убыванию или возрастанию).
Частичносфилдвалуе Аналогично Partial<T> в Typescript, но позволяет опускать вложенные поля и передавать FieldValues ​​в качестве значений свойств.
Примитивный Примитивные типы.
QueryConstraintType Описывает различные ограничения запросов, доступные в этом SDK.
Ограничение QueryFilterConstraint QueryFilterConstraint — это вспомогательный тип объединения, который представляет QueryFieldFilterConstraint и QueryCompositeFilterConstraint . .
QueryNonFilterConstraint QueryNonFilterConstraint — это вспомогательный тип объединения, который представляет QueryConstraints, которые используются для сужения или упорядочивания набора документов, но не выполняют явную фильтрацию по полю документа. QueryNonFilterConstraint создаются путем вызова orderBy(). , начатьВ() , стартПосле() , КонецПеред() , КонецАт() , limit() или limitToLast() и затем может быть передан в query() для создания нового экземпляра запроса, который также содержит QueryConstraint .
Установить параметры Объект параметров, который настраивает поведение setDoc(). , и звонит. Эти вызовы можно настроить для выполнения детальных слияний вместо полной перезаписи целевых документов, предоставив SetOptions с merge: true .
Юнионтопересечение Учитывая тип объединения U = T1 | T2 | ... , возвращает пересекающийся тип (T1 & T2 & ...) . Использует дистрибутивные условные типы и вывод из условных типов. Это работает, потому что несколько кандидатов на переменную одного и того же типа в контрвариантных позициях приводят к выводу типа пересечения. https://www.typescriptlang.org/docs/handbook/advanced-types.html#type-inference-in-conditional-types https://stackoverflow.com/questions/50374908/transform-union-type-to-intersection -тип
Обновление данных Обновить данные (для использования с updateDoc()) ), который состоит из путей к полям (например, «foo» или «foo.baz»), сопоставленных со значениями. Поля, содержащие точки, ссылаются на вложенные поля в документе. FieldValues ​​можно передавать как значения свойств.
ГдеФильтрОп Условия фильтра в предложенииwhere() указываются с использованием строк '&lt;', '&lt;=', '==', '!=', '&gt;=', '&gt;', 'array-contains' , «в», «массив содержит любой» и «не в».
Сфилдвалуе Позволяет передавать FieldValues ​​как значение свойства, сохраняя при этом безопасность типов.

функция (приложение, ...)

getFirestore (приложение)

Возвращает существующий экземпляр Firestore по умолчанию, связанный с предоставленным FirebaseApp. . Если экземпляра не существует, инициализирует новый экземпляр с настройками по умолчанию.

Подпись:

export declare function getFirestore(app: FirebaseApp): Firestore;

Параметры

Параметр Тип Описание
приложение FirebaseApp Экземпляр FirebaseApp , с которым связан возвращенный экземпляр Firestore .

Возврат:

Пожарная лавка

Экземпляр Firestore предоставленного приложения.

getFirestore (приложение, идентификатор базы данных)

Этот API предоставляется в качестве предварительной версии для разработчиков и может меняться в зависимости от получаемых нами отзывов. Не используйте этот API в производственной среде.

Возвращает существующий экземпляр Firestore , связанный с предоставленным FirebaseApp. . Если экземпляра не существует, инициализирует новый экземпляр с настройками по умолчанию.

Подпись:

export declare function getFirestore(app: FirebaseApp, databaseId: string): Firestore;

Параметры

Параметр Тип Описание
приложение FirebaseApp Экземпляр FirebaseApp , с которым связан возвращенный экземпляр Firestore .
идентификатор базы данных нить Имя базы данных.

Возврат:

Пожарная лавка

Экземпляр Firestore предоставленного приложения.

инициализироватьFirestore (приложение, настройки)

Инициализирует новый экземпляр Cloud Firestore с предоставленными настройками. Может быть вызван только перед любыми другими функциями, включая getFirestore(). . Если пользовательские настройки пусты, эта функция эквивалентна вызову getFirestore(). .

Подпись:

export declare function initializeFirestore(app: FirebaseApp, settings: Settings): Firestore;

Параметры

Параметр Тип Описание
приложение FirebaseApp FirebaseApp , с которым будет связан экземпляр Firestore .
настройки Настройки Объект настроек для настройки экземпляра Firestore .

Возврат:

Пожарная лавка

Недавно инициализированный экземпляр Firestore .

инициализироватьFirestore (приложение, настройки, идентификатор базы данных)

Этот API предоставляется в качестве предварительной версии для разработчиков и может меняться в зависимости от получаемых нами отзывов. Не используйте этот API в производственной среде.

Инициализирует новый экземпляр Cloud Firestore с предоставленными настройками. Может быть вызван только перед любыми другими функциями, включая getFirestore(). . Если пользовательские настройки пусты, эта функция эквивалентна вызову getFirestore(). .

Подпись:

export declare function initializeFirestore(app: FirebaseApp, settings: Settings, databaseId?: string): Firestore;

Параметры

Параметр Тип Описание
приложение FirebaseApp FirebaseApp , с которым будет связан экземпляр Firestore .
настройки Настройки Объект настроек для настройки экземпляра Firestore .
идентификатор базы данных нить Имя базы данных.

Возврат:

Пожарная лавка

Недавно инициализированный экземпляр Firestore .

функция(пожарная, ...)

коллекция (firestore, путь, pathSegments)

Получает экземпляр CollectionReference , который ссылается на коллекцию по указанному абсолютному пути.

Подпись:

export declare function collection(firestore: Firestore, path: string, ...pathSegments: string[]): CollectionReference<DocumentData, DocumentData>;

Параметры

Параметр Тип Описание
пожарная лавка Пожарная лавка Ссылка на корневой экземпляр Firestore .
путь нить Путь к коллекции, разделенный косой чертой.
путьСегменты нить[] Дополнительные сегменты пути, которые нужно применить относительно первого аргумента.

Возврат:

КоллекцияСправочник < Данные документа , Данные документа >

Экземпляр CollectionReference .

Исключения

Если конечный путь имеет четное количество сегментов и не указывает на коллекцию.

CollectionGroup(Firestore, CollectionId)

Создает и возвращает новый экземпляр Query , включающий все документы в базе данных, содержащиеся в коллекции или подколлекции с заданным collectionId . .

Подпись:

export declare function collectionGroup(firestore: Firestore, collectionId: string): Query<DocumentData, DocumentData>;

Параметры

Параметр Тип Описание
пожарная лавка Пожарная лавка Ссылка на корневой экземпляр Firestore .
идентификатор коллекции нить Идентифицирует коллекции для запроса. Будет включена каждая коллекция или подколлекция с этим идентификатором в качестве последнего сегмента пути. Не может содержать косую черту.

Возврат:

Запрос < Данные документа , Данные документа >

Созданный Query .

ConnectFirestoreEmulator (firestore, хост, порт, параметры)

Измените этот экземпляр для связи с эмулятором Cloud Firestore.

Подпись:

export declare function connectFirestoreEmulator(firestore: Firestore, host: string, port: number, options?: {
    mockUserToken?: EmulatorMockTokenOptions | string;
}): void;

Параметры

Параметр Тип Описание
пожарная лавка Пожарная лавка Экземпляр Firestore , который необходимо настроить для подключения к эмулятору.
хозяин нить хост эмулятора (например: localhost).
порт число порт эмулятора (пример: 9000).
параметры {mockusertoken?: emulatormocktokenoptions | нить; }

Возврат:

пустота

Док (Firestore, Pathsegments)

Получил экземпляр DocumentReference , который относится к документу на указанном абсолютном пути.

Подпись:

export declare function doc(firestore: Firestore, path: string, ...pathSegments: string[]): DocumentReference<DocumentData, DocumentData>;

Параметры

Параметр Тип Описание
Firestore Firestore Ссылка на экземпляр корня Firestore .
путь нить Снизительный путь к документу.
пути нить[] Дополнительные сегменты пути, которые будут применены относительно первого аргумента.

Возврат:

Ссылка на документ < DocumentData , DocumentData >

Экземпляр DocumentReference .

Исключения

Если последний путь имеет нечетное количество сегментов и не указывает на документ.

RunTransaction (Firestore, UpdateFunction, Options)

Выполняет заданную updateFunction , а затем пытается совершить изменения, применяемые в рамках транзакции. Если какой -либо документ прочитал в рамках транзакции, Cloud updateFunction . Если он не может совершить после 5 попыток, транзакция терпит неудачу.

Максимальное количество записей, разрешенных в одной транзакции, составляет 500.

Подпись:

export declare function runTransaction<T>(firestore: Firestore, updateFunction: (transaction: Transaction) => Promise<T>, options?: TransactionOptions): Promise<T>;

Параметры

Параметр Тип Описание
Firestore Firestore Ссылка на базу данных Firestore для выполнения этой транзакции против.
UpdateFunction (Транзакция: транзакция ) => Обещание <T> Функция для выполнения в контексте транзакции.
параметры Параметры транзакции Объект параметров для настройки максимального количества попыток совершить.

Возврат:

Обещание <T>

Если транзакция завершилась успешно или была явно прервана ( updateFunction вернуло неудачное обещание), обещание, возвращаемое updateFunction возвращается сюда. В противном случае, если транзакция не удалась, возвращается отклоненное обещание с соответствующей ошибкой сбоя.

прекратить (Firestore)

Прекращает предоставленный экземпляр Firestore .

После вызова terminate() могут использоваться только функции clearIndexedDbPersistence() . Любая другая функция бросит FirestoreError . Прекращение не отменяет каких -либо ожидающих записей, и любые обещания, которые ожидают ответа с сервера, не будут разрешены.

Чтобы перезапустить после прекращения, создайте новый экземпляр Firestore с GetFirestore () .

Подпись:

export declare function terminate(firestore: Firestore): Promise<void>;

Параметры

Параметр Тип Описание
Firestore Firestore Экземпляр Firestore для прекращения.

Возврат:

Обещание <Void>

Promise , которое разрешено, когда экземпляр был успешно прекращен.

writebatch (Firestore)

Создает партию записи, используемую для выполнения нескольких записей в качестве единой атомной операции. Максимальное количество записей, разрешенных в одном Bricebatch, составляет 500.

Результат этих записей будет отражен только в чтениях документа, которые возникают после того, как возвращаемое обещание разрешается. Если клиент в автономном режиме, запись не удается. Если вы хотите увидеть локальные модификации или буферные записи до тех пор, пока клиент не станет онлайн, используйте полную SDK Firestore.

Подпись:

export declare function writeBatch(firestore: Firestore): WriteBatch;

Параметры

Параметр Тип Описание
Firestore Firestore

Возврат:

Writebatch

WriteBatch , который можно использовать для атомального выполнения нескольких записей.

функция()

считать()

Создайте объект совокупности, который можно использовать для вычисления подсчета документов в наборе результатов запроса.

Подпись:

export declare function count(): AggregateField<number>;

Возврат:

Совокупное поле <номер>

deletefield ()

Возвращает стражи для использования с updatedoc () или setdoc () с {merge: true} , чтобы отметить поле для удаления.

Подпись:

export declare function deleteField(): FieldValue;

Возврат:

ПолеValue

documentId ()

Возвращает специальный Sentinel FieldPath для обозначения идентификатора документа. Его можно использовать в запросах для сортировки или фильтрации по идентификатору документа.

Подпись:

export declare function documentId(): FieldPath;

Возврат:

ФилдПат

getFirestore ()

Возвращает существующий экземпляр Firestore по умолчанию, который связан с Firebaseapp по умолчанию . Если экземпляр не существует, инициализирует новый экземпляр с настройками по умолчанию.

Подпись:

export declare function getFirestore(): Firestore;

Возврат:

Firestore

Экземпляр Firestore предоставленного приложения.

серверTimestamp()

Возвращает Sentinel, используемый с setDoc () или updateoc () , чтобы включить сгенерированную сервером временную метку в письменных данных.

Подпись:

export declare function serverTimestamp(): FieldValue;

Возврат:

ПолеValue

Функция (Databaseid, ...)

getFirestore (база данных)

Этот API предоставляется в качестве предварительного просмотра для разработчиков и может измениться на основе отзывов, которые мы получаем. Не используйте этот API в производственной среде.

Возвращает существующий экземпляр Firestore , который связан с Firebaseapp по умолчанию . Если экземпляр не существует, инициализирует новый экземпляр с настройками по умолчанию.

Подпись:

export declare function getFirestore(databaseId: string): Firestore;

Параметры

Параметр Тип Описание
база данных нить Имя базы данных.

Возврат:

Firestore

Экземпляр Firestore предоставленного приложения.

функция (элементы, ...)

ArrayRemove (элементы)

Возвращает специальное значение, которое можно использовать с SetDoc () или что говорит серверу удалить заданные элементы из любого значения массива, которое уже существует на сервере. Все экземпляры каждого указанного элемента будут удалены из массива. Если изменение поля еще не является массивом, оно будет перезаписано пустым массивом.

Подпись:

export declare function arrayRemove(...elements: unknown[]): FieldValue;

Параметры

Параметр Тип Описание
элементы неизвестный[] Элементы для удаления из массива.

Возврат:

ПолеValue

Sentinel FieldValue для использования в вызове с setDoc() или updateDoc()

Арююнион (элементы)

Возвращает специальное значение, которое можно использовать с setDoc () или updateoc () , которое сообщает серверу объединить заданные элементы с любым значением массива, которое уже существует на сервере. Каждый указанный элемент, который еще не существует в массиве, будет добавлен к концу. Если модифицированное поле еще не является массивом, оно будет перезаписано массивом, содержащим именно указанные элементы.

Подпись:

export declare function arrayUnion(...elements: unknown[]): FieldValue;

Параметры

Параметр Тип Описание
элементы неизвестный[] Элементы в Союз в массив.

Возврат:

ПолеValue

Sentinel FieldValue для использования в вызове с setDoc() или updateDoc() .

функция (поле, ...)

средний (поле)

Создайте объект совокупности, который можно использовать для вычисления среднего значения указанного поля в диапазоне документов в наборе результатов запроса.

Подпись:

export declare function average(field: string | FieldPath): AggregateField<number | null>;

Параметры

Параметр Тип Описание
поле строка | ФилдПат Определяет поле, чтобы в среднем через набор результатов.

Возврат:

Совокупное поле <номер | null>

сумма (поле)

Создайте объект совокупности, который можно использовать для вычисления суммы указанного поля в диапазоне документов в наборе результатов запроса.

Подпись:

export declare function sum(field: string | FieldPath): AggregateField<number>;

Параметры

Параметр Тип Описание
поле строка | ФилдПат Определяет поле, чтобы суммировать набор результатов.

Возврат:

Совокупное поле <номер>

функция (Fieldpath, ...)

orderby (Fieldpath, Directionstr)

Создает запрос DorderByconstraint , который сортирует результат запроса по указанному полю, необязательно в порядке убывания, а не поднимается.

Подпись:

export declare function orderBy(fieldPath: string | FieldPath, directionStr?: OrderByDirection): QueryOrderByConstraint;

Параметры

Параметр Тип Описание
полеПуть строка | ФилдПат Поле для сортировки.
Направление Порядок работы Необязательное направление для сортировки по ('asc' или 'desc'). Если не указано, порядок будет подниматься.

Возврат:

QueryOrderByConstraint

Созданный запрос DorderByconstraint .

где (Fieldpath, Opstr, значение)

Создает QueryfieldfilterConstraint , которая обеспечивает соблюдение того, что документы должны содержать указанное поле и что значение должно удовлетворить предоставленное ограничение отношения.

Подпись:

export declare function where(fieldPath: string | FieldPath, opStr: WhereFilterOp, value: unknown): QueryFieldFilterConstraint;

Параметры

Параметр Тип Описание
полеПуть строка | ФилдПат Путь к сравнению
Опстр Гдефильтер Строка операции (например, "& lt;", "& lt; =", "==", "& lt;", "& lt; =", "! =").
ценить неизвестный Значение для сравнения

Возврат:

QueryfieldfilterConstraint

Созданный QueryfieldfilterConstraint .

функция (Field Values, ...)

Endat (FieldValues)

Создает запрос QueryEndatConstraint , который изменяет результат, установленный на предоставление в предоставленных полях относительно порядка запроса. Порядок значений поля должен соответствовать порядку порядка по пунктам запроса.

Подпись:

export declare function endAt(...fieldValues: unknown[]): QueryEndAtConstraint;

Параметры

Параметр Тип Описание
Field Values неизвестный[] Поле знакомо, чтобы закончить этот запрос в порядке приказа запроса.

Возврат:

QueryEndatConstraint

QueryEndatConstraint , чтобы передать query()

Конец перед (FieldValues)

Создает запрос , который изменяет результат, установленный на то, чтобы закончить, прежде чем предоставленные поля относительно порядка запроса. Порядок значений поля должен соответствовать порядку порядка по пунктам запроса.

Подпись:

export declare function endBefore(...fieldValues: unknown[]): QueryEndAtConstraint;

Параметры

Параметр Тип Описание
Field Values неизвестный[] Поле знакомо, чтобы закончить этот запрос раньше, в порядке приказа запроса.

Возврат:

QueryEndatConstraint

QueryEndatConstraint , чтобы передать query()

startafter (FieldValues)

Создает QueryStartatConstraint , которая изменяет набор результатов для начала после предоставленных полей относительно порядка запроса. Порядок значений поля должен соответствовать порядку порядка по пунктам запроса.

Подпись:

export declare function startAfter(...fieldValues: unknown[]): QueryStartAtConstraint;

Параметры

Параметр Тип Описание
Field Values неизвестный[] Значения поля, чтобы начать этот запрос после, в порядке приказа запроса.

Возврат:

QueryStartatConstraint

QueryStartatConstraint , чтобы передать query()

Startat (FieldValues)

Создает QueryStartatConstraint , которая изменяет набор результатов для начала в предоставленных полях относительно порядка запроса. Порядок значений поля должен соответствовать порядку порядка по пунктам запроса.

Подпись:

export declare function startAt(...fieldValues: unknown[]): QueryStartAtConstraint;

Параметры

Параметр Тип Описание
Field Values неизвестный[] Значения поля, чтобы начать этот запрос в порядке заказа запроса.

Возврат:

QueryStartatConstraint

QueryStartatConstraint , чтобы передать query() .

функция (слева, ...)

совокупное полевое (слева, справа)

Сравнивает два «совокупного поля `Примеры равенства.

Подпись:

export declare function aggregateFieldEqual(left: AggregateField<unknown>, right: AggregateField<unknown>): boolean;

Параметры

Параметр Тип Описание
левый Совокупное поле <неизвестно> Сравните это совокупное поле right .
верно Совокупное поле <неизвестно> Сравните это совокупное поле left .

Возврат:

логическое значение

Aggregatequerysnapshotequal (слева, справа)

Сравнивает два экземпляра AggregateQuerySnapshot для равенства.

Два экземпляра AggregateQuerySnapshot считаются «равными», если они имеют базовые запросы, которые сравнивают равные, и одни и те же данные.

Подпись:

export declare function aggregateQuerySnapshotEqual<AggregateSpecType extends AggregateSpec, AppModelType, DbModelType extends DocumentData>(left: AggregateQuerySnapshot<AggregateSpecType, AppModelType, DbModelType>, right: AggregateQuerySnapshot<AggregateSpecType, AppModelType, DbModelType>): boolean;

Параметры

Параметр Тип Описание
левый Снимок агрегатного запроса <Aggergatespoctype, appmodeltype, dbmodeltype> Первый AggregateQuerySnapshot для сравнения.
верно Снимок агрегатного запроса <Aggergatespoctype, appmodeltype, dbmodeltype> Второй AggregateQuerySnapshot , чтобы сравнить.

Возврат:

логическое значение

true , если объекты «равны», как определено выше, или false .

Queryequal (слева, справа)

Возвращает True, если предоставленные запросы указывают на ту же коллекцию и применяют те же ограничения.

Подпись:

export declare function queryEqual<AppModelType, DbModelType extends DocumentData>(left: Query<AppModelType, DbModelType>, right: Query<AppModelType, DbModelType>): boolean;

Параметры

Параметр Тип Описание
левый Запрос <AppModelType, DbModelType> Query для сравнения.
верно Запрос <AppModelType, DbModelType> Query для сравнения.

Возврат:

логическое значение

Верно, если ссылки указывают на то же место в той же базе данных Firestore.

Рефекция (слева, справа)

Возвращает True, если предоставленные ссылки равны.

Подпись:

export declare function refEqual<AppModelType, DbModelType extends DocumentData>(left: DocumentReference<AppModelType, DbModelType> | CollectionReference<AppModelType, DbModelType>, right: DocumentReference<AppModelType, DbModelType> | CollectionReference<AppModelType, DbModelType>): boolean;

Параметры

Параметр Тип Описание
левый Ссылка на документ <Appmodeltype, dbmodeltype> | CollectionReference <AppModelType, DbModelType> Ссылка на сравнение.
верно Ссылка на документ <Appmodeltype, dbmodeltype> | CollectionReference <AppModelType, DbModelType> Ссылка на сравнение.

Возврат:

логическое значение

Верно, если ссылки указывают на то же место в той же базе данных Firestore.

SnapshoteQual (слева, справа)

Возвращает True, если предоставленные снимки равны.

Подпись:

export declare function snapshotEqual<AppModelType, DbModelType extends DocumentData>(left: DocumentSnapshot<AppModelType, DbModelType> | QuerySnapshot<AppModelType, DbModelType>, right: DocumentSnapshot<AppModelType, DbModelType> | QuerySnapshot<AppModelType, DbModelType>): boolean;

Параметры

Параметр Тип Описание
левый DocumentsNapShot <Appmodeltype, dbmodeltype> | Снимок запроса <AppModelType, DbModelType> Снимок для сравнения.
верно DocumentsNapShot <Appmodeltype, dbmodeltype> | Снимок запроса <AppModelType, DbModelType> Снимок для сравнения.

Возврат:

логическое значение

Правда, если снимки равны.

функция(предел, ...)

предел (предел)

Создает QueryLimitConstraint , которая возвращает только первые соответствующие документы.

Подпись:

export declare function limit(limit: number): QueryLimitConstraint;

Параметры

Параметр Тип Описание
предел число Максимальное количество элементов для возврата.

Возврат:

QueryLimitConstraint

Созданный QueryLimitConstraint .

limitToLast(ограничение)

Создает QueryLimitConstraint , которая возвращает только последние соответствующие документы.

Вы должны указать как минимум один пункт orderBy для запросов limitToLast , в противном случае исключение будет брошено во время выполнения.

Подпись:

export declare function limitToLast(limit: number): QueryLimitConstraint;

Параметры

Параметр Тип Описание
предел число Максимальное количество элементов для возврата.

Возврат:

QueryLimitConstraint

Созданный QueryLimitConstraint .

функция (loglevel, ...)

setloglevel (loglevel)

Устанавливает условно -известные журналы Firestore (отладка, ошибка или молчание).

Подпись:

export declare function setLogLevel(logLevel: LogLevel): void;

Параметры

Параметр Тип Описание
уровень журнала Loglevel Мервесность, которую вы устанавливаете для регистрации активности и ошибок. Может быть любым из следующих значений:
  • debug для наиболее многословного уровня регистрации, в первую очередь для отладки.
  • error только для регистрации ошибок.
  • silent to turn off logging.

Возврат:

пустота

функция (n, ...)

Приращение (n)

Возвращает специальное значение, которое можно использовать с setDoc () или updateoc () , которое сообщает серверу увеличить текущее значение поля с помощью заданного значения.

Если либо операнд, либо текущее значение поля использует точность плавающей точки, вся арифметика следует за семантикой IEEE 754. Если оба значения являются целыми числами, значения за пределами диапазона безопасных номеров JavaScript ( Number.MIN_SAFE_INTEGER to Number.MAX_SAFE_INTEGER ) также подвержены потере точности. Кроме того, после обработки бэкэнд Firestore все целочисленные операции ограничены между -2^63 и 2^63-1.

Если текущее значение поля не имеет number типа , или если поля еще не существует, преобразование устанавливает поле на заданное значение.

Подпись:

export declare function increment(n: number): FieldValue;

Параметры

Параметр Тип Описание
н число Значение для увеличения.

Возврат:

ПолеValue

Sentinel FieldValue для использования в вызове с setDoc() или updateDoc()

функция (запрос, ...)

Getaggregate (запрос, агрегаты)

Вычисляет указанные агрегации по документам в наборе результатов данного запроса без фактической загрузки документов.

Использование этой функции для выполнения агрегаций эффективно, потому что загружаются только конечные значения агрегации, а не данные документов. Эта функция может выполнять агрегации документов в тех случаях, когда набор результатов чрезвычайно велик для полной загрузки (тысячи документов).

Подпись:

export declare function getAggregate<AggregateSpecType extends AggregateSpec, AppModelType, DbModelType extends DocumentData>(query: Query<AppModelType, DbModelType>, aggregateSpec: AggregateSpecType): Promise<AggregateQuerySnapshot<AggregateSpecType, AppModelType, DbModelType>>;

Параметры

Параметр Тип Описание
запрос Запрос <AppModelType, DbModelType> Запрос, набор результатов которого агрегирован.
агрегаты Агрегаты Объект AggregateSpec , который указывает агрегаты для выполнения по набору результатов. Заполнители указывает псевдонимы для каждого заполнителя, которые можно использовать для получения агрегатного результата.

Возврат:

Обещание < aggregatequerysnapshot <Aggergatespoctype, appmodeltype, dbmodeltype >>

Пример

const aggregateSnapshot = await getAggregate(query, {
  countOfDocs: count(),
  totalHours: sum('hours'),
  averageScore: average('score')
});

const countOfDocs: number = aggregateSnapshot.data().countOfDocs;
const totalHours: number = aggregateSnapshot.data().totalHours;
const averageScore: number | null = aggregateSnapshot.data().averageScore;

GetCount (запрос)

Вычисляет количество документов в наборе результатов данного запроса без фактической загрузки документов.

Использование этой функции для подсчета документов эффективно, потому что загружается только окончательный счет, а не данные документов. Эта функция может подсчитать документы в тех случаях, когда набор результатов чрезвычайно большой для загрузки (тысячи документов).

Подпись:

export declare function getCount<AppModelType, DbModelType extends DocumentData>(query: Query<AppModelType, DbModelType>): Promise<AggregateQuerySnapshot<{
    count: AggregateField<number>;
}, AppModelType, DbModelType>>;

Параметры

Параметр Тип Описание
запрос Запрос <AppModelType, DbModelType> Запрос, размер набора результатов, размер результатов.

Возврат:

Обещание < aggregatequerysnapshot <{count: Aggregatefield <число>; }, AppModelType, dbmodeltype >>

Обещание, которое будет решено с графом; Подсчет может быть извлечен из snapshot.data().count , где snapshot находится AggregateQuerySnapshot , которому разрешается возвращаемое обещание.

getdocs (запрос)

Выполняет запрос и возвращает результаты как Querysnapshot .

Все запросы выполняются непосредственно сервером, даже если запрос был ранее выполнен. Недавние модификации отражаются только в полученных результатах, только если они уже применялись бэкэнд. Если клиент не в автономном режиме, операция не выполняется. Чтобы увидеть ранее кэшированный результат и локальные модификации, используйте полный SDK Firestore.

Подпись:

export declare function getDocs<AppModelType, DbModelType extends DocumentData>(query: Query<AppModelType, DbModelType>): Promise<QuerySnapshot<AppModelType, DbModelType>>;

Параметры

Параметр Тип Описание
запрос Запрос <AppModelType, DbModelType> Query для выполнения.

Возврат:

Обещание < Querysnapshot <Appmodeltype, dbmodeltype >>

Обещание, которое будет разрешено с результатами запроса.

запрос (запрос, композитныйфильтер, QueryConstraints)

Создает новый неизменяемый экземпляр Query , который расширяется и включает дополнительные ограничения запроса.

Подпись:

export declare function query<AppModelType, DbModelType extends DocumentData>(query: Query<AppModelType, DbModelType>, compositeFilter: QueryCompositeFilterConstraint, ...queryConstraints: QueryNonFilterConstraint[]): Query<AppModelType, DbModelType>;

Параметры

Параметр Тип Описание
запрос Запрос <AppModelType, DbModelType> Экземпляр запроса , который можно использовать в качестве базы для новых ограничений.
Композитныйфильтер QueryCompositeFilterConstraint QueryCompositeFilterConstraint для применения. Создать QueryCompositeFilterConstraint с использованием и () или () .
QueryConstraints QueryNonFilterConstraint [] Дополнительный QuerynonfilterConstraint s для применения (например, orderby () , Limit () ).

Возврат:

Запрос <AppModelType, DbModelType>

Исключения

Если какое -либо из предоставленных ограничений запроса не может быть объединено с существующими или новыми ограничениями.

запрос (запрос, queryConstraints)

Создает новый неизменяемый экземпляр Query , который расширяется и включает дополнительные ограничения запроса.

Подпись:

export declare function query<AppModelType, DbModelType extends DocumentData>(query: Query<AppModelType, DbModelType>, ...queryConstraints: QueryConstraint[]): Query<AppModelType, DbModelType>;

Параметры

Параметр Тип Описание
запрос Запрос <AppModelType, DbModelType> Экземпляр запроса , который можно использовать в качестве базы для новых ограничений.
QueryConstraints Ограничение запроса [] Список QueryConstraint s, чтобы применить.

Возврат:

Запрос <AppModelType, DbModelType>

Исключения

Если какое -либо из предоставленных ограничений запроса не может быть объединено с существующими или новыми ограничениями.

функция (QueryConstraints, ...)

и (QueryConstraints)

Создает новый QueryCompositeFilterConstraint , который является соединением заданных ограничений фильтра. Фильтр соединения включает документ, если он удовлетворяет всем данным фильтрам.

Подпись:

export declare function and(...queryConstraints: QueryFilterConstraint[]): QueryCompositeFilterConstraint;

Параметры

Параметр Тип Описание
QueryConstraints Ограничение QueryFilterConstraint [] Необязательный. Список QueryfilterConstraint s для выполнения соединения для. Они должны быть созданы с помощью вызовов, где () , или() , или и () .

Возврат:

QueryCompositeFilterConstraint

Недавно созданный QueryCompositeFilterConstraint .

или (QueryConstraints)

Создает новый QueryCompositeFilterConstraint , который является дизъюнкцией заданных ограничений фильтра. Фильтр дизъюнкции включает в себя документ, если он удовлетворяет какой -либо из данных фильтров.

Подпись:

export declare function or(...queryConstraints: QueryFilterConstraint[]): QueryCompositeFilterConstraint;

Параметры

Параметр Тип Описание
QueryConstraints Ограничение QueryFilterConstraint [] Необязательный. Список QueryfilterConstraint S для выполнения дизъюнкции для. Они должны быть созданы с помощью вызовов, где () , или() , или и () .

Возврат:

QueryCompositeFilterConstraint

Недавно созданный QueryCompositeFilterConstraint .

функция (ссылка, ...)

AddDoc (ссылка, данные)

Добавьте новый документ в указанный CollectionReference с данными данных, автоматически присваивая ему идентификатор документа.

Результат этой записи будет отражен только в чтениях документа, которые возникают после того, как возвращаемое обещание разрешается. Если клиент в автономном режиме, запись не удается. Если вы хотите увидеть локальные модификации или буферные записи до тех пор, пока клиент не станет онлайн, используйте полную SDK Firestore.

Подпись:

export declare function addDoc<AppModelType, DbModelType extends DocumentData>(reference: CollectionReference<AppModelType, DbModelType>, data: WithFieldValue<AppModelType>): Promise<DocumentReference<AppModelType, DbModelType>>;

Параметры

Параметр Тип Описание
ссылка CollectionReference <AppModelType, DbModelType> Ссылка на коллекцию, чтобы добавить этот документ.
данные Сфилдвейл <ppmodeltype> Объект, содержащий данные для нового документа.

Возврат:

Обещание < documentReference <Appmodeltype, dbmodeltype >>

Promise разрешено с помощью DocumentReference , указывающего на недавно созданный документ после того, как он был записан на бэкэнд.

Исключения

Ошибка - если предоставленный вход не является действительным документом Firestore.

Сбор (ссылка, путь, пути)

Получает экземпляр CollectionReference , который относится к подколлекции reference на указанном относительном пути.

Подпись:

export declare function collection<AppModelType, DbModelType extends DocumentData>(reference: CollectionReference<AppModelType, DbModelType>, path: string, ...pathSegments: string[]): CollectionReference<DocumentData, DocumentData>;

Параметры

Параметр Тип Описание
ссылка CollectionReference <AppModelType, DbModelType> Ссылка на коллекцию.
путь нить Снизительный путь к коллекции.
пути нить[] Дополнительные сегменты пути для применения относительно первого аргумента.

Возврат:

CollectionReference < DocumentData , DocumentData >

Экземпляр CollectionReference .

Исключения

Если последний путь имеет равномерное количество сегментов и не указывает на коллекцию.

Сбор (ссылка, путь, пути)

Получает экземпляр CollectionReference , который относится к подколлекции reference на указанном относительном пути.

Подпись:

export declare function collection<AppModelType, DbModelType extends DocumentData>(reference: DocumentReference<AppModelType, DbModelType>, path: string, ...pathSegments: string[]): CollectionReference<DocumentData, DocumentData>;

Параметры

Параметр Тип Описание
ссылка Ссылка на документ <AppModelType, DbModelType> Ссылка на документ Firestore.
путь нить Снизительный путь к коллекции.
пути нить[] Дополнительные сегменты пути, которые будут применены относительно первого аргумента.

Возврат:

CollectionReference < DocumentData , DocumentData >

Экземпляр CollectionReference .

Исключения

Если последний путь имеет равномерное количество сегментов и не указывает на коллекцию.

deletedoc (ссылка)

Удаляет документ, упомянутый указанным DocumentReference .

Удаление будет отражено только в чтениях документа, которые происходят после разрешения возвращенного обещания. Если клиент в автономном режиме, удаление не удается. Если вы хотите увидеть локальные модификации или буферные записи до тех пор, пока клиент не станет онлайн, используйте полную SDK Firestore.

Подпись:

export declare function deleteDoc<AppModelType, DbModelType extends DocumentData>(reference: DocumentReference<AppModelType, DbModelType>): Promise<void>;

Параметры

Параметр Тип Описание
ссылка Ссылка на документ <AppModelType, DbModelType> Ссылка на документ по удалению.

Возврат:

Обещание <Void>

Promise разрешено после того, как документ был успешно удален из бэкэнда.

Док (ссылка, путь, пути)

Получает экземпляр DocumentReference , который относится к документу в пределах reference на указанном относительном пути. Если не указан путь, для возвращенного DocumentReference будет использоваться автоматически сгенерированный уникальный идентификатор .

Подпись:

export declare function doc<AppModelType, DbModelType extends DocumentData>(reference: CollectionReference<AppModelType, DbModelType>, path?: string, ...pathSegments: string[]): DocumentReference<AppModelType, DbModelType>;

Параметры

Параметр Тип Описание
ссылка CollectionReference <AppModelType, DbModelType> Ссылка на коллекцию.
путь нить Снизительный путь к документу. Должен быть опущен, чтобы использовать автоматические идентификаторы.
пути нить[] Дополнительные сегменты пути, которые будут применены относительно первого аргумента.

Возврат:

Ссылка на документ <AppModelType, DbModelType>

Экземпляр DocumentReference .

Исключения

Если последний путь имеет нечетное количество сегментов и не указывает на документ.

Док (ссылка, путь, пути)

Получает экземпляр DocumentReference , который относится к документу в пределах reference на указанном относительном пути.

Подпись:

export declare function doc<AppModelType, DbModelType extends DocumentData>(reference: DocumentReference<AppModelType, DbModelType>, path: string, ...pathSegments: string[]): DocumentReference<DocumentData, DocumentData>;

Параметры

Параметр Тип Описание
ссылка Ссылка на документ <AppModelType, DbModelType> Ссылка на документ Firestore.
путь нить Снизительный путь к документу.
пути нить[] Дополнительные сегменты пути, которые будут применены относительно первого аргумента.

Возврат:

Ссылка на документ < DocumentData , DocumentData >

Экземпляр DocumentReference .

Исключения

Если последний путь имеет нечетное количество сегментов и не указывает на документ.

getdoc (ссылка)

Считает документ, упомянутый указанным справочным документом.

Все документы непосредственно извлекаются с сервера, даже если документ был ранее прочитал или изменен. Недавние модификации отражаются только в извлеченных DocumentSnapshot . Если клиент не в автономном режиме, чтение не удается. Если вы хотите использовать кэширование или видите локальные модификации, используйте полный SDK Firestore.

Подпись:

export declare function getDoc<AppModelType, DbModelType extends DocumentData>(reference: DocumentReference<AppModelType, DbModelType>): Promise<DocumentSnapshot<AppModelType, DbModelType>>;

Параметры

Параметр Тип Описание
ссылка Ссылка на документ <AppModelType, DbModelType> Ссылка документа на получение.

Возврат:

Обещание < документынапшот <Appmodeltype, dbmodeltype >>

Обещание разрешено с помощью DocumentSnapshot , содержащего текущее содержимое документа.

setDoc (ссылка, данные)

Письмо в документ, упомянутый указанным DocumentReference . Если документ еще не существует, он будет создан.

Результат этой записи будет отражен только в чтениях документа, которые возникают после того, как возвращаемое обещание разрешается. Если клиент в автономном режиме, запись не удается. Если вы хотите увидеть локальные модификации или буферные записи до тех пор, пока клиент не станет онлайн, используйте полную SDK Firestore.

Подпись:

export declare function setDoc<AppModelType, DbModelType extends DocumentData>(reference: DocumentReference<AppModelType, DbModelType>, data: WithFieldValue<AppModelType>): Promise<void>;

Параметры

Параметр Тип Описание
ссылка Ссылка на документ <AppModelType, DbModelType> Ссылка на документ на написание.
данные Сфилдвейл <ppmodeltype> Карта полей и значений для документа.

Возврат:

Обещание <Void>

Promise разрешено, как только данные были успешно записаны на бэкэнд.

Исключения

Ошибка - если предоставленный вход не является действительным документом Firestore.

SetDoc (ссылка, данные, параметры)

Письмо в документ, упомянутый указанным DocumentReference . Если документ еще не существует, он будет создан. Если вы предоставляете merge или mergeFields Предоставленные данные могут быть объединены в существующий документ.

Результат этой записи будет отражен только в чтениях документа, которые возникают после того, как возвращаемое обещание разрешается. Если клиент в автономном режиме, запись не удается. Если вы хотите увидеть локальные модификации или буферные записи до тех пор, пока клиент не станет онлайн, используйте полную SDK Firestore.

Подпись:

export declare function setDoc<AppModelType, DbModelType extends DocumentData>(reference: DocumentReference<AppModelType, DbModelType>, data: PartialWithFieldValue<AppModelType>, options: SetOptions): Promise<void>;

Параметры

Параметр Тип Описание
ссылка Ссылка на документ <AppModelType, DbModelType> Ссылка на документ на написание.
данные PartialwithfieldValue <ppmodeltype> Карта полей и значений для документа.
параметры Установить параметры Объект для настройки установленного поведения.

Возврат:

Обещание <Void>

Promise разрешено, как только данные были успешно записаны на бэкэнд.

Исключения

Ошибка - если предоставленный вход не является действительным документом Firestore.

updatedoc (ссылка, данные)

Поля обновлений в документе, упомянутом указанным DocumentReference . Обновление потерпит неудачу, если применимо к документу, которого не существует.

Результат этого обновления будет отражено только в чтениях документа, которые возникают после того, как возвращаемое обещание разрешается. Если клиент в автономном режиме, обновление не удается. Если вы хотите увидеть локальные модификации или буферные записи до тех пор, пока клиент не станет онлайн, используйте полную SDK Firestore.

Подпись:

export declare function updateDoc<AppModelType, DbModelType extends DocumentData>(reference: DocumentReference<AppModelType, DbModelType>, data: UpdateData<DbModelType>): Promise<void>;

Параметры

Параметр Тип Описание
ссылка Ссылка на документ <AppModelType, DbModelType> Ссылка на документ на обновление.
данные Обновляется <Dbmodeltype> Объект, содержащий поля и значения для обновления документа. Поля могут содержать точки для ссылки на вложенные поля в документе.

Возврат:

Обещание <Void>

Promise разрешено, как только данные были успешно записаны на бэкэнд.

Исключения

Ошибка - если предоставленный вход не является допустимым данными Firestore.

Updatedoc (ссылка, поле, значение, MoreFieldSandValues)

Поля обновлений В документе, упомянутом указанным DocumentReference , обновление не удастся, если будет применено к документу, который не существует.

Вложенные поля могут быть обновлены, предоставляя DOT-разделенные строки полевых путей или предоставив объекты FieldPath .

Результат этого обновления будет отражено только в чтениях документа, которые возникают после того, как возвращаемое обещание разрешается. Если клиент в автономном режиме, обновление не удается. Если вы хотите увидеть локальные модификации или буферные записи до тех пор, пока клиент не станет онлайн, используйте полную SDK Firestore.

Подпись:

export declare function updateDoc<AppModelType, DbModelType extends DocumentData>(reference: DocumentReference<AppModelType, DbModelType>, field: string | FieldPath, value: unknown, ...moreFieldsAndValues: unknown[]): Promise<void>;

Параметры

Параметр Тип Описание
ссылка Ссылка на документ <AppModelType, DbModelType> Ссылка на документ на обновление.
поле строка | ФилдПат Первое поле для обновления.
ценить неизвестный Первое значение.
MoreFieldSandValues неизвестный[] Дополнительные пары значений ключей.

Возврат:

Обещание <Void>

Promise разрешено, как только данные были успешно записаны на бэкэнд.

Исключения

Ошибка - если предоставленный вход не является допустимым данными Firestore.

функция (снимки, ...)

Endat (снимок)

Создает запрос QueryEndatConstraint , который изменяет результат, установленную на завершение в предоставленном документе (включительно). Конечная позиция относительно порядка запроса. Документ должен содержать все поля, представленные в заказе запроса.

Подпись:

export declare function endAt<AppModelType, DbModelType extends DocumentData>(snapshot: DocumentSnapshot<AppModelType, DbModelType>): QueryEndAtConstraint;

Параметры

Параметр Тип Описание
снимок DocumentsNapShot <AppModelType, DbModelType> Снимок документа заканчивается.

Возврат:

QueryEndatConstraint

QueryEndatConstraint , чтобы передать query()

Endfefore (Snapshot)

Создает запрос QueryEndatConstraint , который изменяет набор результатов, чтобы закончить перед предоставленным документом (эксклюзивным). Конечная позиция относительно порядка запроса. Документ должен содержать все поля, представленные в заказе запроса.

Подпись:

export declare function endBefore<AppModelType, DbModelType extends DocumentData>(snapshot: DocumentSnapshot<AppModelType, DbModelType>): QueryEndAtConstraint;

Параметры

Параметр Тип Описание
снимок DocumentsNapShot <AppModelType, DbModelType> Снимок документа заканчивается раньше.

Возврат:

QueryEndatConstraint

QueryEndatConstraint , чтобы передать query()

startafter (снимок)

Создает QueryStartatConstraint , которая изменяет набор результатов для начала после предоставленного документа (эксклюзив). Начальная позиция относится к порядку запроса. Документ должен содержать все поля, представленные в заказе запроса.

Подпись:

export declare function startAfter<AppModelType, DbModelType extends DocumentData>(snapshot: DocumentSnapshot<AppModelType, DbModelType>): QueryStartAtConstraint;

Параметры

Параметр Тип Описание
снимок DocumentsNapShot <AppModelType, DbModelType> Снимок документа для начала после.

Возврат:

QueryStartatConstraint

QueryStartatConstraint , чтобы передать query()

Startat (снимок)

Создает QueryStartatConstraint , которая изменяет набор результатов для начала в предоставленном документе (включительно). Начальная позиция относится к порядку запроса. Документ должен содержать все поля, представленные в orderBy этого запроса.

Подпись:

export declare function startAt<AppModelType, DbModelType extends DocumentData>(snapshot: DocumentSnapshot<AppModelType, DbModelType>): QueryStartAtConstraint;

Параметры

Параметр Тип Описание
снимок DocumentsNapShot <AppModelType, DbModelType> Снимок документа для начала.

Возврат:

QueryStartatConstraint

QueryStartatConstraint , чтобы передать query() .

Addprefixtokeys

Возвращает новую карту, где каждая клавиша префикс установлен с внешним ключом, добавленным в точку.

Подпись:

export declare type AddPrefixToKeys<Prefix extends string, T extends Record<string, unknown>> = {
    [K in keyof T & string as `${Prefix}.${K}`]+?: string extends K ? any : T[K];
};

Совокупныйфилдтип

Союз всех типов AggregateField , которые поддерживаются Firestore.

Подпись:

export declare type AggregateFieldType = ReturnType<typeof sum> | ReturnType<typeof average> | ReturnType<typeof count>;

АгрегатеСпецДанные

Тип, ключи которых взяты из AggregateSpec и чьи значения являются результатом агрегации, выполняемой соответствующим AggregateField из входного AggregateSpec .

Подпись:

export declare type AggregateSpecData<T extends AggregateSpec> = {
    [P in keyof T]: T[P] extends AggregateField<infer U> ? U : never;
};

Агрегаттип

Тип союза, представляющий совокупный тип, который будет выполнен.

Подпись:

export declare type AggregateType = 'count' | 'avg' | 'sum';

Childupdatefields

Помощник для расчета вложенных полей для данного типа T1. Это необходимо для распространения типов союзов, таких как undefined | {...} (случается для дополнительных реквизитов) или {a: A} | {b: B} .

В этом варианте использования V используется для распределения типов союзов T[K] в Record , поскольку T[K] оценивается как выражение и не распределяется.

См

Подпись:

export declare type ChildUpdateFields<K extends string, V> = V extends Record<string, unknown> ? AddPrefixToKeys<K, UpdateData<V>> : never;

FirestoreErrorCode

Набор кодов статуса Firestore. Коды одинаковы на тех, которые выявляются GRPC здесь: https://github.com/grpc/grpc/blob/master/doc/statuscodes.md

Возможные значения: - «Отмена»: операция была отменена (обычно вызывающим абонент). - «Неизвестно»: неизвестная ошибка или ошибка из другого домена ошибки. - 'Invalid-Argument': клиент указал неверный аргумент. Обратите внимание, что это отличается от «неудачного назначения». «Недостаточный аргумент» указывает на аргументы, которые являются проблематичными независимо от состояния системы (например, неверное имя поля). - «Срок срока»: срок действия срока истек до завершения операции. Для операций, которые изменяют состояние системы, эта ошибка может быть возвращена, даже если операция успешно завершилась. Например, успешный ответ с сервера мог быть отложено достаточно долго, чтобы срок действия истекала. - «Неудачный»: какой-то запрошенный документ не был найден. - «Уже существует»: какой-то документ, который мы пытались создать, уже существует. - «Разрушение разрешения»: у вызывающего абонента нет разрешения на выполнение указанной операции. -«Ресурс-эксплуатированный»: какой-то ресурс был исчерпан, возможно, квота для каждого пользователя, или, возможно, вся файловая система вышла из космоса. - «Неудачное назначение»: операция была отклонена, потому что система не находится в состоянии, необходимого для выполнения операции. - «Прерванная»: операция была прервана, как правило, из-за вопроса о параллелизме, такой как транзакции, прервания и т. Д. - «Неограниченное»: операция не реализована или не поддерживается/включена. - «Внутренние»: внутренние ошибки. Означает, что некоторые инварианты, ожидаемые базовой системой, были нарушены. Если вы видите одну из этих ошибок, что -то очень сломано. - «недоступен»: в настоящее время услуга недоступна. Это, скорее всего, переходное состояние и может быть исправлено путем повторения с отбором. - «Утолп данных»: невозможно потери или коррупция данных. - «Неавтотифицированный»: запрос не имеет действительных учетных данных аутентификации для операции.

Подпись:

export declare type FirestoreErrorCode = 'cancelled' | 'unknown' | 'invalid-argument' | 'deadline-exceeded' | 'not-found' | 'already-exists' | 'permission-denied' | 'resource-exhausted' | 'failed-precondition' | 'aborted' | 'out-of-range' | 'unimplemented' | 'internal' | 'unavailable' | 'data-loss' | 'unauthenticated';

Вложенные

Для каждого поля (например, «Бар») найдите все вложенные ключи (например, { 'bar.baz': t1, 'bar.qux': t2 } ). Пересечь их вместе, чтобы сделать одну карту, содержащую все возможные ключи, которые отмечены как необязательные

Подпись:

export declare type NestedUpdateFields<T extends Record<string, unknown>> = UnionToIntersection<{
    [K in keyof T & string]: ChildUpdateFields<K, T[K]>;
}[keyof T & string]>;

Порядок работы

Направление пункта OrderBy () указывается как «DESC» или «ASC» (нисходящее или восходящее).

Подпись:

export declare type OrderByDirection = 'desc' | 'asc';

PartialwithfieldValue

Подобно Partial<T> , но позволяет вложенным полям быть опущенными, а в качестве значений свойств в качестве значений свойств.

Подпись:

export declare type PartialWithFieldValue<T> = Partial<T> | (T extends Primitive ? T : T extends {} ? {
    [K in keyof T]?: PartialWithFieldValue<T[K]> | FieldValue;
} : never);

Примитивный

Примитивные типы.

Подпись:

export declare type Primitive = string | number | boolean | undefined | null;

QueryConstraintType

Описывает различные ограничения запросов, доступные в этом SDK.

Подпись:

export declare type QueryConstraintType = 'where' | 'orderBy' | 'limit' | 'limitToLast' | 'startAt' | 'startAfter' | 'endAt' | 'endBefore';

Ограничение QueryFilterConstraint

QueryFilterConstraint - это помощник, который представляет QueryfieldFilterConstraint и QueryCompositeFilterConstraint .

Подпись:

export declare type QueryFilterConstraint = QueryFieldFilterConstraint | QueryCompositeFilterConstraint;

QueryNonFilterConstraint

QueryNonFilterConstraint - это вспомогательный тип союза, который представляет QueryConstraints, которые используются для сужения или упорядочения набора документов, но которые явно не фильтруют в поле документа. QueryNonFilterConstraint s созданы путем вызова orderby () , начатьВ() , стартПосле() , КонецПеред() , endat () , Limit () или Limittolast () , а затем может быть передано в Query () для создания нового экземпляра запроса, который также содержит QueryConstraint .

Подпись:

export declare type QueryNonFilterConstraint = QueryOrderByConstraint | QueryLimitConstraint | QueryStartAtConstraint | QueryEndAtConstraint;

Установить параметры

Объект параметров, который настраивает поведение setDoc () и звонки. Эти вызовы могут быть настроены для выполнения гранулированных слияний вместо того, чтобы полностью перезаписать целевые документы, предоставляя SetOptions merge: true .

Подпись:

export declare type SetOptions = {
    readonly merge?: boolean;
} | {
    readonly mergeFields?: Array<string | FieldPath>;
};

UnionTointersection

Учитывает тип союза U = T1 | T2 | ... , возвращает пересекаемый тип (T1 & T2 & ...) .

Использует распределительные условные типы и вывод от условных типов. Это работает, потому что несколько кандидатов на одну и ту же переменную типа в противоположных положениях заставляют вывод типа пересечения. https://www.typescriptlang.org/docs/handbook/advanced-types.html#type-inference-in-conditional-types https://stackoverflow.com/questions/50374908/transform-inion-type-to-intersection -тип

Подпись:

export declare type UnionToIntersection<U> = (U extends unknown ? (k: U) => void : never) extends (k: infer I) => void ? I : never;

Обновляется

Обновление данных (для использования с помощью updateC () ), который состоит из полевых путей (например, «foo» или «foo.baz»), отображаемых с значениями. Поля, которые содержат точки, ссылаются на вложенные поля в документе. Field Values ​​может быть передано в качестве значений свойств.

Подпись:

export declare type UpdateData<T> = T extends Primitive ? T : T extends {} ? {
    [K in keyof T]?: UpdateData<T[K]> | FieldValue;
} & NestedUpdateFields<T> : Partial<T>;

Гдефильтер

Условия фильтра в пункте where () указаны с использованием строк «& lt; ',' & lt; = ',' == ','! , 'in', 'Array-Contains-Any' и «Not-in».

Подпись:

export declare type WhereFilterOp = '<' | '<=' | '==' | '!=' | '>=' | '>' | 'array-contains' | 'in' | 'array-contains-any' | 'not-in';

Сфилдвейл

Позволяет проходить в качестве значения свойства в качестве значения свойства при сохранении безопасности типа.

Подпись:

export declare type WithFieldValue<T> = T | (T extends Primitive ? T : T extends {} ? {
    [K in keyof T]: WithFieldValue<T[K]> | FieldValue;
} : never);