@firebase/firestore/lite

Funzioni

Funzione Descrizione
funzione(app, ...)
getFirestore(app) Restituisce l'istanza Firestore predefinita esistente associata alla FirebaseApp fornita . Se non esiste alcuna istanza, inizializza una nuova istanza con le impostazioni predefinite.
getFirestore(app, ID database) (BETA) Restituisce l'istanza Firestore esistente associata alla FirebaseApp fornita . Se non esiste alcuna istanza, inizializza una nuova istanza con le impostazioni predefinite.
inizializzaFirestore(app, impostazioni) Inizializza una nuova istanza di Cloud Firestore con le impostazioni fornite. Può essere chiamato solo prima di qualsiasi altra funzione, incluso getFirestore() . Se le impostazioni personalizzate sono vuote, questa funzione equivale a chiamare getFirestore() .
inizializzaFirestore(app, impostazioni, databaseId) (BETA) Inizializza una nuova istanza di Cloud Firestore con le impostazioni fornite. Può essere chiamato solo prima di qualsiasi altra funzione, incluso getFirestore() . Se le impostazioni personalizzate sono vuote, questa funzione equivale a chiamare getFirestore() .
funzione(firestore, ...)
collection(firestore, percorso, pathSegments) Ottiene un'istanza CollectionReference che fa riferimento alla raccolta nel percorso assoluto specificato.
collectionGroup(firestore, collectionId) Crea e restituisce una nuova istanza Query che include tutti i documenti nel database contenuti in una raccolta o sottoraccolta con il collectionId specificato.
connectFirestoreEmulator(firestore, host, porta, opzioni) Modifica questa istanza per comunicare con l'emulatore Cloud Firestore. Nota: questo deve essere chiamato prima che questa istanza venga utilizzata per eseguire qualsiasi operazione.
doc(firestore, percorso, percorsiSegmenti) Ottiene un'istanza DocumentReference che fa riferimento al documento nel percorso assoluto specificato.
runTransaction(firestore, updateFunction, opzioni) Esegue la updateFunction specificata e quindi tenta di confermare le modifiche applicate all'interno della transazione. Se un documento letto all'interno della transazione è cambiato, Cloud Firestore riprova a utilizzare updateFunction . Se il commit non riesce dopo 5 tentativi, la transazione fallisce. Il numero massimo di scritture consentite in una singola transazione è 500.
terminare(firestore) Termina l'istanza Firestore fornita. Dopo aver chiamato terminate() è possibile utilizzare solo le funzioni clearIndexedDbPersistence() . Qualsiasi altra funzione genererà un FirestoreError . La terminazione non annulla alcuna scrittura in sospeso e qualsiasi promessa in attesa di risposta dal server non verrà risolta. Per riavviare dopo la terminazione, crea una nuova istanza di Firestore con getFirestore() . Nota: in circostanze normali, la chiamata terminate() non è necessaria. Questa funzione è utile solo quando vuoi forzare questa istanza a rilasciare tutte le sue risorse o in combinazione con clearIndexedDbPersistence() per garantire che tutto lo stato locale venga distrutto tra le esecuzioni dei test.
writeBatch(firestore) Crea un batch di scrittura, utilizzato per eseguire più scritture come un'unica operazione atomica. Il numero massimo di scritture consentite in un singolo WriteBatch è 500. Il risultato di queste scritture si rifletterà solo nelle letture dei documenti che si verificano dopo la risoluzione della promessa restituita. Se il client è offline, la scrittura fallisce. Se desideri visualizzare le modifiche locali o le scritture nel buffer finché il client non è online, utilizza l'SDK completo di Firestore.
funzione()
contare() Crea un oggetto AggregateField che può essere utilizzato per calcolare il conteggio dei documenti nel set di risultati di una query.
eliminacampo() Restituisce una sentinella da utilizzare con updateDoc() o setDoc() con {merge: true} per contrassegnare un campo per l'eliminazione.
IDdocumento() Restituisce una sentinella speciale FieldPath per fare riferimento all'ID di un documento. Può essere utilizzato nelle query per ordinare o filtrare in base all'ID del documento.
getFirestore() Restituisce l'istanza Firestore predefinita esistente associata al FirebaseApp predefinito . Se non esiste alcuna istanza, inizializza una nuova istanza con le impostazioni predefinite.
serverTimestamp() Restituisce una sentinella utilizzata con setDoc() o updateDoc() per includere un timestamp generato dal server nei dati scritti.
funzione(IDdatabase, ...)
getFirestore(IDdatabase) (BETA) Restituisce l'istanza Firestore esistente associata alla FirebaseApp predefinita . Se non esiste alcuna istanza, inizializza una nuova istanza con le impostazioni predefinite.
funzione(elementi, ...)
arrayRimuovi(elementi) Restituisce un valore speciale che può essere utilizzato con setDoc() o che indica al server di rimuovere gli elementi specificati da qualsiasi valore dell'array già esistente sul server. Tutte le istanze di ciascun elemento specificato verranno rimosse dall'array. Se il campo da modificare non è già un array verrà sovrascritto con un array vuoto.
arrayUnione(elementi) Restituisce un valore speciale che può essere utilizzato con setDoc() o updateDoc() che dice al server di unire gli elementi specificati con qualsiasi valore dell'array già esistente sul server. Ogni elemento specificato che non esiste già nell'array verrà aggiunto alla fine. Se il campo da modificare non è già un array verrà sovrascritto con un array contenente esattamente gli elementi specificati.
funzione(campo, ...)
media(campo) Crea un oggetto AggregateField che può essere utilizzato per calcolare la media di un campo specificato su un intervallo di documenti nel set di risultati di una query.
somma(campo) Crea un oggetto AggregateField che può essere utilizzato per calcolare la somma di un campo specificato su un intervallo di documenti nel set di risultati di una query.
funzione(percorsocampo, ...)
ordinePer(campoPercorso, direzioneStr) Crea un oggetto QueryOrderByConstraint che ordina il risultato della query in base al campo specificato, facoltativamente in ordine decrescente anziché crescente. Nota: i documenti che non contengono il campo specificato non saranno presenti nel risultato della query.
dove(percorsocampo, opStr, valore) Crea un oggetto QueryFieldFilterConstraint che impone che i documenti contengano il campo specificato e che il valore soddisfi il vincolo di relazione fornito.
funzione(valoricampo, ...)
endAt(valoricampo) Crea un oggetto QueryEndAtConstraint che modifica il set di risultati in modo che termini nei campi forniti rispetto all'ordine della query. L'ordine dei valori dei campi deve corrispondere all'ordine delle clausole dell'ordine della query.
endBefore(valoricampo) Crea un oggetto QueryEndAtConstraint che modifica il set di risultati in modo che termini prima dei campi forniti rispetto all'ordine della query. L'ordine dei valori dei campi deve corrispondere all'ordine delle clausole dell'ordine della query.
startAfter(valoricampo) Crea un oggetto QueryStartAtConstraint che modifica il set di risultati in modo che inizi dopo i campi forniti rispetto all'ordine della query. L'ordine dei valori dei campi deve corrispondere all'ordine delle clausole dell'ordine della query.
inizioAt(valoricampo) Crea un oggetto QueryStartAtConstraint che modifica il set di risultati in modo che inizi dai campi forniti rispetto all'ordine della query. L'ordine dei valori dei campi deve corrispondere all'ordine delle clausole dell'ordine della query.
funzione(sinistra, ...)
aggregateFieldEqual(sinistra, destra) Confronta due "AggregateField ` istanze di uguaglianza.
aggregateQuerySnapshotEqual(sinistra, destra) Confronta due istanze AggregateQuerySnapshot per verificarne l'uguaglianza. Due istanze AggregateQuerySnapshot sono considerate "uguali" se hanno query sottostanti che confrontano uguali e gli stessi dati.
queryEqual(sinistra, destra) Restituisce true se le query fornite puntano alla stessa raccolta e applicano gli stessi vincoli.
refEqual(sinistra, destra) Restituisce vero se i riferimenti forniti sono uguali.
snapshotUguale(sinistra, destra) Restituisce vero se gli snapshot forniti sono uguali.
funzione(limite, ...)
limite (limite) Crea un QueryLimitConstraint che restituisce solo i primi documenti corrispondenti.
limite all'ultimo(limite) Crea un QueryLimitConstraint che restituisce solo gli ultimi documenti corrispondenti. È necessario specificare almeno una clausola orderBy per le query limitToLast , altrimenti verrà generata un'eccezione durante l'esecuzione.
funzione(livellolog, ...)
setLogLevel(logLevel) Imposta il livello di dettaglio dei log di Cloud Firestore (debug, errore o silenzioso).
funzione(n, ...)
incremento(n) Restituisce un valore speciale che può essere utilizzato con setDoc() o updateDoc() che dice al server di incrementare il valore corrente del campo del valore specificato. Se l'operando o il valore del campo corrente utilizzano la precisione in virgola mobile, tutta l'aritmetica segue la semantica IEEE 754. Se entrambi i valori sono interi, anche i valori esterni all'intervallo di numeri sicuri di JavaScript (da Number.MIN_SAFE_INTEGER a Number.MAX_SAFE_INTEGER ) sono soggetti a perdita di precisione. Inoltre, una volta elaborate dal backend Firestore, tutte le operazioni sugli interi vengono limitate tra -2^63 e 2^63-1. Se il valore del campo corrente non è di tipo number o se il campo non esiste ancora, la trasformazione imposta il campo sul valore specificato.
funzione(query, ...)
getAggregate(query, aggregateSpec) Calcola le aggregazioni specificate sui documenti nel set di risultati della query specificata senza scaricare effettivamente i documenti. L'utilizzo di questa funzione per eseguire aggregazioni è efficiente perché vengono scaricati solo i valori di aggregazione finali, non i dati dei documenti. Questa funzione può eseguire aggregazioni di documenti nei casi in cui il set di risultati è eccessivamente grande per essere scaricato interamente (migliaia di documenti).
getCount(query) Calcola il numero di documenti nel set di risultati della query specificata senza effettivamente scaricare i documenti. Usare questa funzione per contare i documenti è efficiente perché viene scaricato solo il conteggio finale, non i dati dei documenti. Questa funzione può contare i documenti nei casi in cui il set di risultati è eccessivamente grande per essere scaricato interamente (migliaia di documenti).
getDocs(query) Esegue la query e restituisce i risultati come QuerySnapshot . Tutte le query vengono eseguite direttamente dal server, anche se la query è stata precedentemente eseguita. Le modifiche recenti si riflettono nei risultati recuperati solo se sono già state applicate dal backend. Se il client è offline, l'operazione non riesce. Per visualizzare i risultati precedentemente memorizzati nella cache e le modifiche locali, utilizza l'SDK Firestore completo.
query(query, compositeFilter, queryConstraints) Crea una nuova istanza immutabile di Query che viene estesa per includere anche vincoli di query aggiuntivi.
query(query, queryVincoli) Crea una nuova istanza immutabile di Query che viene estesa per includere anche vincoli di query aggiuntivi.
funzione(queryVincoli, ...)
e(queryVincoli) Crea un nuovo QueryCompositeFilterConstraint che è una congiunzione dei vincoli di filtro specificati. Un filtro di congiunzione include un documento se soddisfa tutti i filtri specificati.
o(queryConstraints) Crea un nuovo QueryCompositeFilterConstraint che è una disgiunzione dei vincoli di filtro specificati. Un filtro di disgiunzione include un documento se soddisfa uno qualsiasi dei filtri indicati.
funzione(riferimento, ...)
addDoc(riferimento, dati) Aggiungi un nuovo documento alla CollectionReference specificata con i dati forniti, assegnandogli automaticamente un ID documento. Il risultato di questa scrittura si rifletterà solo nelle letture del documento che si verificano dopo la risoluzione della promessa restituita. Se il client è offline, la scrittura fallisce. Se desideri visualizzare le modifiche locali o le scritture nel buffer finché il client non è online, utilizza l'SDK completo di Firestore.
collezione(riferimento, percorso, pathSegments) Ottiene un'istanza CollectionReference che fa riferimento a una sottoraccolta di reference nel percorso relativo specificato.
collezione(riferimento, percorso, pathSegments) Ottiene un'istanza CollectionReference che fa riferimento a una sottoraccolta di reference nel percorso relativo specificato.
deleteDoc(riferimento) Elimina il documento a cui fa riferimento l' DocumentReference specificato. L'eliminazione si rifletterà solo nelle letture dei documenti che si verificano dopo la risoluzione della promessa restituita. Se il client è offline, l'eliminazione non riesce. Se desideri visualizzare le modifiche locali o le scritture nel buffer finché il client non è online, utilizza l'SDK completo di Firestore.
doc(riferimento, percorso, segmenti percorso) Ottiene un'istanza DocumentReference che fa riferimento a un documento all'interno del reference nel percorso relativo specificato. Se non viene specificato alcun percorso, verrà utilizzato un ID univoco generato automaticamente per il DocumentReference restituito.
doc(riferimento, percorso, segmenti percorso) Ottiene un'istanza DocumentReference che fa riferimento a un documento all'interno del reference nel percorso relativo specificato.
getDoc(riferimento) Legge il documento a cui fa riferimento il riferimento documento specificato. Tutti i documenti vengono prelevati direttamente dal server, anche se il documento è stato precedentemente letto o modificato. Le modifiche recenti si riflettono nel DocumentSnapshot recuperato solo se sono già state applicate dal backend. Se il client è offline, la lettura fallisce. Se desideri utilizzare la memorizzazione nella cache o visualizzare le modifiche locali, utilizza l'SDK Firestore completo.
setDoc(riferimento, dati) Scrive nel documento a cui fa riferimento l' DocumentReference specificato. Se il documento non esiste ancora, verrà creato. Il risultato di questa scrittura si rifletterà solo nelle letture del documento che si verificano dopo la risoluzione della promessa restituita. Se il client è offline, la scrittura fallisce. Se desideri visualizzare le modifiche locali o le scritture nel buffer finché il client non è online, utilizza l'SDK completo di Firestore.
setDoc(riferimento, dati, opzioni) Scrive nel documento a cui fa riferimento l' DocumentReference specificato. Se il documento non esiste ancora, verrà creato. Se fornisci merge o mergeFields , i dati forniti possono essere uniti in un documento esistente. Il risultato di questa scrittura si rifletterà solo nelle letture del documento che si verificano dopo la risoluzione della promessa restituita. Se il client è offline, la scrittura fallisce. Se desideri visualizzare le modifiche locali o le scritture nel buffer finché il client non è online, utilizza l'SDK completo di Firestore.
updateDoc(riferimento, dati) Aggiorna i campi nel documento a cui fa riferimento l' DocumentReference specificato. L'aggiornamento fallirà se applicato a un documento che non esiste. Il risultato di questo aggiornamento si rifletterà solo nelle letture dei documenti che si verificano dopo la risoluzione della promessa restituita. Se il client è offline, l'aggiornamento non riesce. Se desideri visualizzare le modifiche locali o le scritture nel buffer finché il client non è online, utilizza l'SDK completo di Firestore.
updateDoc(riferimento, campo, valore, moreFieldsAndValues) Aggiorna i campi nel documento a cui fa riferimento il DocumentReference specificato. L'aggiornamento fallirà se applicato a un documento che non esiste. I campi nidificati possono essere aggiornati fornendo stringhe di percorsi di campo separati da punti o fornendo oggetti FieldPath . Il risultato di questo aggiornamento si rifletterà solo nelle letture dei documenti che si verificano dopo la risoluzione della promessa restituita. Se il client è offline, l'aggiornamento non riesce. Se desideri visualizzare le modifiche locali o le scritture nel buffer finché il client non è online, utilizza l'SDK completo di Firestore.
funzione(istantanea, ...)
endAt(istantanea) Crea un oggetto QueryEndAtConstraint che modifica il set di risultati in modo che termini con il documento fornito (incluso). La posizione finale è relativa all'ordine della query. Il documento deve contenere tutti i campi forniti nell'ordine orderBy della query.
finePrima(istantanea) Crea un oggetto QueryEndAtConstraint che modifica il set di risultati in modo che termini prima del documento fornito (esclusivo). La posizione finale è relativa all'ordine della query. Il documento deve contenere tutti i campi forniti nell'ordine orderBy della query.
startAfter(istantanea) Crea un oggetto QueryStartAtConstraint che modifica il set di risultati in modo che inizi dopo il documento fornito (esclusivo). La posizione iniziale è relativa all'ordine della query. Il documento deve contenere tutti i campi forniti nell'ordineorderBy della query.
startAt(istantanea) Crea un oggetto QueryStartAtConstraint che modifica il set di risultati in modo che inizi dal documento fornito (incluso). La posizione iniziale è relativa all'ordine della query. Il documento deve contenere tutti i campi forniti nell'ordine orderBy di questa query.

Classi

Classe Descrizione
Campo aggregato Rappresenta un'aggregazione che può essere eseguita da Firestore.
AggregateQuerySnapshot I risultati dell'esecuzione di una query di aggregazione.
Byte Un oggetto immutabile che rappresenta una matrice di byte.
CollezioneRiferimento Un oggetto CollectionReference può essere utilizzato per aggiungere documenti, ottenere riferimenti a documenti ed eseguire query su documenti (utilizzando query() ).
Riferimento documento Un DocumentReference fa riferimento alla posizione di un documento in un database Firestore e può essere utilizzato per scrivere, leggere o ascoltare la posizione. Il documento nella posizione di riferimento può esistere o meno.
Istantanea del documento Un DocumentSnapshot contiene i dati letti da un documento nel database Firestore. I dati possono essere estratti con .data() o .get(<field>) per ottenere un campo specifico. Per un DocumentSnapshot che punta a un documento inesistente, qualsiasi accesso ai dati restituirà "undefinito". Puoi utilizzare il metodo exists() per verificare esplicitamente l'esistenza di un documento.
CampoPercorso Un FieldPath fa riferimento a un campo in un documento. Il percorso può essere costituito da un singolo nome di campo (che fa riferimento a un campo di livello superiore nel documento) o da un elenco di nomi di campo (che fa riferimento a un campo nidificato nel documento). Crea un FieldPath fornendo i nomi dei campi. Se viene fornito più di un nome di campo, il percorso punterà a un campo nidificato in un documento.
CampoValore Valori sentinella che possono essere utilizzati durante la scrittura dei campi del documento con set() o update() .
Firestore L'interfaccia del servizio Cloud Firestore. Non chiamare direttamente questo costruttore. Utilizza invece getFirestore() .
FirestoreErrore Un errore restituito da un'operazione Firestore.
GeoPoint Un oggetto immutabile che rappresenta una posizione geografica in Firestore. La posizione è rappresentata come coppia latitudine/longitudine. I valori di latitudine sono compresi nell'intervallo [-90, 90]. I valori di longitudine sono compresi nell'intervallo [-180, 180].
Domanda Una Query si riferisce a una query che puoi leggere o ascoltare. Puoi anche costruire oggetti Query perfezionati aggiungendo filtri e ordinandoli.
QueryCompositeFilterVincolo Un QueryCompositeFilterConstraint viene utilizzato per restringere il set di documenti restituiti da una query Firestore eseguendo l'OR o l'AND logico di più QueryFieldFilterConstraint s o QueryCompositeFilterConstraint S. QueryCompositeFilterConstraint vengono creati richiamando or() o and() e possono quindi essere passati a query() per creare una nuova istanza di query che contiene anche QueryCompositeFilterConstraint .
Vincolo di query Un QueryConstraint viene utilizzato per restringere l'insieme di documenti restituiti da una query Firestore. I QueryConstraint vengono creati invocando where() , ordinato da() , iniziare a() , startAfter() , finePrima() , fineAt() , limite() , limitToLast() e può quindi essere passato a query() per creare una nuova istanza di query che contenga anche questo QueryConstraint .
QueryDocumentSnapshot Un QueryDocumentSnapshot contiene dati letti da un documento nel database Firestore come parte di una query. L'esistenza del documento è garantita e i suoi dati possono essere estratti con .data() o .get(<field>) per ottenere un campo specifico. Un QueryDocumentSnapshot offre la stessa superficie API di un DocumentSnapshot . Poiché i risultati della query contengono solo documenti esistenti, la proprietà exists sarà sempre vera e data() non restituirà mai 'undefinito'.
QueryEndAtConstraint Un QueryEndAtConstraint viene utilizzato per escludere i documenti dalla fine di un set di risultati restituito da una query Firestore. QueryEndAtConstraint vengono creati richiamando endAt() o endBefore() e possono quindi essere passati a query() per creare una nuova istanza di query che contiene anche questo QueryEndAtConstraint .
VincoloFiltroCampoQuery Un QueryFieldFilterConstraint viene utilizzato per restringere il set di documenti restituiti da una query Firestore filtrando uno o più campi del documento. QueryFieldFilterConstraint vengono creati richiamando where() e possono quindi essere passati a query() per creare una nuova istanza di query che contiene anche questo QueryFieldFilterConstraint .
VincoloLimiteQuery Un QueryLimitConstraint viene utilizzato per limitare il numero di documenti restituiti da una query Firestore. QueryLimitConstraint vengono creati richiamando limit() o limitToLast() e possono quindi essere passati a query() per creare una nuova istanza di query che contiene anche questo QueryLimitConstraint .
QueryOrderByConstraint Un QueryOrderByConstraint viene utilizzato per ordinare il set di documenti restituiti da una query Firestore. QueryOrderByConstraint vengono creati richiamando orderBy() e possono quindi essere passati a query() per creare una nuova istanza di query che contiene anche questo QueryOrderByConstraint . Nota: i documenti che non contengono il campo orderBy non saranno presenti nel risultato della query.
QuerySnapshot Un QuerySnapshot contiene zero o più oggetti DocumentSnapshot che rappresentano i risultati di una query. È possibile accedere ai documenti come array tramite la proprietà docs o enumerarli utilizzando il metodo forEach . Il numero di documenti può essere determinato tramite le proprietà empty e size .
QueryStartAtConstraint Un QueryStartAtConstraint viene utilizzato per escludere i documenti dall'inizio di un set di risultati restituito da una query Firestore. QueryStartAtConstraint vengono creati richiamando startAt() o startAfter() e possono quindi essere passati a query() per creare una nuova istanza di query che contiene anche questo QueryStartAtConstraint .
Timestamp Un Timestamp rappresenta un punto nel tempo indipendente da qualsiasi fuso orario o calendario, rappresentato come secondi e frazioni di secondo con una risoluzione di nanosecondi nell'epoca UTC. È codificato utilizzando il calendario gregoriano prolettico che estende il calendario gregoriano all'anno uno. Viene codificato presupponendo che tutti i minuti durino 60 secondi, ovvero i secondi intercalari vengono "spalmati" in modo che non sia necessaria alcuna tabella dei secondi intercalari per l'interpretazione. L'intervallo è compreso tra 0001-01-01T00:00:00Z e 9999-12-31T23:59:59.999999999Z. Per esempi e ulteriori specificazioni fare riferimento alla definizione Timestamp .
Transazione Un riferimento a una transazione. L'oggetto Transaction passato alla updateFunction di una transazione fornisce i metodi per leggere e scrivere dati nel contesto della transazione. Vedi runTransaction() .
WriteBatch Un batch di scrittura, utilizzato per eseguire più scritture come una singola unità atomica. Un oggetto WriteBatch può essere acquisito chiamando writeBatch() . Fornisce metodi per aggiungere scritture al batch di scrittura. Nessuna delle scritture verrà sottoposta a commit (o visibile localmente) finché non verrà chiamato WriteBatch.commit() .

Interfacce

Interfaccia Descrizione
Specifica aggregata Specifica un insieme di aggregazioni e i relativi alias.
DocumentData Dati del documento (da utilizzare con setDoc() ) è costituito da campi mappati a valori.
FirestoreDataConverter Convertitore utilizzato da withConverter() per trasformare oggetti utente di tipo AppModelType in dati Firestore di tipo DbModelType . L'utilizzo del convertitore consente di specificare argomenti di tipo generico durante l'archiviazione e il recupero di oggetti da Firestore. In questo contesto, un "AppModel" è una classe utilizzata in un'applicazione per assemblare insieme informazioni e funzionalità correlate. Una classe di questo tipo potrebbe, ad esempio, avere proprietà con tipi di dati complessi e nidificati, proprietà utilizzate per la memorizzazione, proprietà di tipi non supportati da Firestore (come symbol e bigint ) e funzioni di supporto che eseguono operazioni composte. Tali classi non sono adatte e/o non è possibile archiviarle in un database Firestore. Invece, le istanze di tali classi devono essere convertite in "piani vecchi oggetti JavaScript" (POJO) con proprietà esclusivamente primitive, potenzialmente annidate all'interno di altri POJO o array di POJO. In questo contesto, questo tipo viene chiamato "DbModel" e sarebbe un oggetto adatto a persistere in Firestore. Per comodità, le applicazioni possono implementare FirestoreDataConverter e registrare il convertitore con oggetti Firestore, come DocumentReference o Query , per convertire automaticamente AppModel in DbModel durante l'archiviazione in Firestore e convertire DbModel in AppModel durante il recupero da Firestore.
Impostazioni Specifica le configurazioni personalizzate per la tua istanza Cloud Firestore. È necessario impostarli prima di invocare qualsiasi altro metodo.
Opzioni di transazione Opzioni per personalizzare il comportamento delle transazioni.

Digitare Alias

Digita Alias Descrizione
AggiungiPrefissoToKeys Restituisce una nuova mappa in cui ogni chiave ha il prefisso con la chiave esterna aggiunta a un punto.
AggregateFieldType L'unione di tutti i tipi AggregateField supportati da Firestore.
AggregateSpecData Un tipo le cui chiavi vengono prese da un AggregateSpec e i cui valori sono il risultato dell'aggregazione eseguita dal corrispondente AggregateField dall'input AggregateSpec .
AggregateType Tipo di unione che rappresenta il tipo di aggregazione da eseguire.
Campi ChildUpdate Helper per il calcolo dei campi nidificati per un dato tipo T1. Ciò è necessario per distribuire tipi di unione come undefined | {...} (succede per oggetti di scena opzionali) o {a: A} | {b: B} . In questo caso d'uso, V viene utilizzato per distribuire i tipi di unione di T[K] su Record , poiché T[K] viene valutato come un'espressione e non distribuito. Vedi https://www.typescriptlang.org/docs/handbook/advanced-types.html#distributive-conditional-types
FirestoreErrorCode L'insieme di codici di stato Firestore. I codici sono gli stessi esposti da gRPC qui: https://github.com/grpc/grpc/blob/master/doc/statuscodes.md Valori possibili: - 'cancelled': l'operazione è stata annullata (tipicamente dal chiamante). - 'sconosciuto': errore sconosciuto o errore proveniente da un dominio di errore diverso. - 'argomento-invalido': il client ha specificato un argomento non valido. Si noti che questo differisce dalla "precondizione fallita". 'argomento-invalido' indica argomenti che sono problematici indipendentemente dallo stato del sistema (ad esempio un nome di campo non valido). - 'deadline-exceeded': la scadenza è scaduta prima che l'operazione potesse essere completata. Per le operazioni che modificano lo stato del sistema, questo errore potrebbe essere restituito anche se l'operazione è stata completata correttamente. Ad esempio, una risposta riuscita da un server potrebbe essere stata ritardata abbastanza a lungo da far scadere la scadenza. - 'non trovato': alcuni documenti richiesti non sono stati trovati. - 'già-esiste': alcuni documenti che abbiamo tentato di creare esistono già. - 'permission-denied': il chiamante non ha il permesso di eseguire l'operazione specificata. - 'resource-exhausted': alcune risorse sono state esaurite, forse una quota per utente o forse l'intero file system ha esaurito lo spazio. - 'failed-precondition': l'operazione è stata rifiutata perché il sistema non si trova nello stato richiesto per l'esecuzione dell'operazione. - 'aborted': l'operazione è stata interrotta, in genere a causa di un problema di concorrenza come l'interruzione delle transazioni, ecc. - 'out-of-range': l'operazione è stata tentata oltre l'intervallo valido. - 'non implementato': l'operazione non è implementata o non è supportata/abilitata. - 'interno': errori interni. Significa che alcune invarianti previste dal sistema sottostante sono state interrotte. Se vedi uno di questi errori, qualcosa è molto rotto. - 'non disponibile': il servizio non è attualmente disponibile. Si tratta molto probabilmente di una condizione transitoria e può essere corretta riprovando con un backoff. - "perdita di dati": perdita o danneggiamento irrecuperabile dei dati. - 'unauthenticated': la richiesta non dispone di credenziali di autenticazione valide per l'operazione.
Campi di aggiornamento nidificati Per ciascun campo (ad esempio "bar"), trova tutte le chiavi nidificate (ad esempio { 'bar.baz': T1, 'bar.qux': T2 } ). Intersecali insieme per creare un'unica mappa contenente tutte le possibili chiavi che sono tutte contrassegnate come opzionali
Ordina per direzione La direzione di una clausola orderBy() è specificata come 'desc' o 'asc' (discendente o ascendente).
ParzialeConFieldValue Simile a Partial<T> di Typescript, ma consente di omettere i campi nidificati e di passare FieldValues ​​come valori di proprietà.
Primitivo Tipi primitivi.
TipoConstraintQuery Descrive i diversi vincoli di query disponibili in questo SDK.
VincoloFiltroQuery QueryFilterConstraint è un tipo di unione helper che rappresenta QueryFieldFilterConstraint e QueryCompositeFilterConstraint .
QueryNonFilterConstraint QueryNonFilterConstraint è un tipo di unione helper che rappresenta QueryConstraint utilizzati per restringere o ordinare l'insieme di documenti, ma che non filtrano esplicitamente un campo di documento. QueryNonFilterConstraint vengono creati invocando orderBy() , iniziare a() , startAfter() , finePrima() , fineAt() , limit() o limitToLast() e può quindi essere passato a query() per creare una nuova istanza di query che contenga anche QueryConstraint .
Imposta opzioni Un oggetto opzioni che configura il comportamento di setDoc() e chiama. Queste chiamate possono essere configurate per eseguire unioni granulari invece di sovrascrivere i documenti di destinazione nella loro interezza fornendo un SetOptions con merge: true .
UnioneToIntersezione Data un'unione di tipo U = T1 | T2 | ... , restituisce un tipo intersecato (T1 & T2 & ...) . Utilizza tipi condizionali distributivi e inferenza da tipi condizionali. Ciò funziona perché più candidati per la stessa variabile di tipo in posizioni controvarianti provocano la deduzione di un tipo di intersezione. https://www.typescriptlang.org/docs/handbook/advanced-types.html#type-inference-in-conditional-types https://stackoverflow.com/questions/50374908/transform-union-type-to-intersection -tipo
Aggiorna dati Aggiorna dati (da utilizzare con updateDoc() ) costituito da percorsi di campo (ad esempio "foo" o "foo.baz") mappati su valori. I campi che contengono punti fanno riferimento ai campi nidificati all'interno del documento. FieldValues ​​può essere passato come valori di proprietà.
DoveFiltroOp Le condizioni di filtro in una clausola where() vengono specificate utilizzando le stringhe '&lt;', '&lt;=', '==', '!=', '&gt;=', '&gt;', 'array-contains' , "in", "array-contains-any" e "not-in".
ConFieldValue Consente di passare FieldValues ​​come valore di proprietà mantenendo l'indipendenza dai tipi.

funzione(app, ...)

getFirestore(app)

Restituisce l'istanza Firestore predefinita esistente associata alla FirebaseApp fornita . Se non esiste alcuna istanza, inizializza una nuova istanza con le impostazioni predefinite.

Firma:

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

Parametri

Parametro Tipo Descrizione
app FirebaseApp L'istanza FirebaseApp a cui è associata l'istanza Firestore restituita.

Ritorna:

Firestore

L'istanza Firestore dell'app fornita.

getFirestore(app, ID database)

Questa API viene fornita come anteprima per gli sviluppatori e potrebbe cambiare in base al feedback che riceviamo. Non utilizzare questa API in un ambiente di produzione.

Restituisce l'istanza Firestore esistente associata alla FirebaseApp fornita . Se non esiste alcuna istanza, inizializza una nuova istanza con le impostazioni predefinite.

Firma:

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

Parametri

Parametro Tipo Descrizione
app FirebaseApp L'istanza FirebaseApp a cui è associata l'istanza Firestore restituita.
ID database corda Il nome del database.

Ritorna:

Firestore

L'istanza Firestore dell'app fornita.

inizializzaFirestore(app, impostazioni)

Inizializza una nuova istanza di Cloud Firestore con le impostazioni fornite. Può essere chiamato solo prima di qualsiasi altra funzione, incluso getFirestore() . Se le impostazioni personalizzate sono vuote, questa funzione equivale a chiamare getFirestore() .

Firma:

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

Parametri

Parametro Tipo Descrizione
app FirebaseApp La FirebaseApp a cui verrà associata l'istanza Firestore .
impostazioni Impostazioni Un oggetto impostazioni per configurare l'istanza Firestore .

Ritorna:

Firestore

Un'istanza Firestore appena inizializzata.

inizializzaFirestore(app, impostazioni, databaseId)

Questa API viene fornita come anteprima per gli sviluppatori e potrebbe cambiare in base al feedback che riceviamo. Non utilizzare questa API in un ambiente di produzione.

Inizializza una nuova istanza di Cloud Firestore con le impostazioni fornite. Può essere chiamato solo prima di qualsiasi altra funzione, incluso getFirestore() . Se le impostazioni personalizzate sono vuote, questa funzione equivale a chiamare getFirestore() .

Firma:

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

Parametri

Parametro Tipo Descrizione
app FirebaseApp La FirebaseApp a cui verrà associata l'istanza Firestore .
impostazioni Impostazioni Un oggetto impostazioni per configurare l'istanza Firestore .
ID database corda Il nome del database.

Ritorna:

Firestore

Un'istanza Firestore appena inizializzata.

funzione(firestore, ...)

collection(firestore, percorso, pathSegments)

Ottiene un'istanza CollectionReference che fa riferimento alla raccolta nel percorso assoluto specificato.

Firma:

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

Parametri

Parametro Tipo Descrizione
fuoco Firestore Un riferimento all'istanza root Firestore .
sentiero corda Un percorso separato da barre per una raccolta.
pathSegmenti corda[] Segmenti di percorso aggiuntivi da applicare rispetto al primo argomento.

Ritorna:

CollezioneRiferimento < Dati documento , Dati documento >

L'istanza CollectionReference .

Eccezioni

Se il percorso finale ha un numero pari di segmenti e non punta a una raccolta.

collectionGroup(firestore, collectionId)

Crea e restituisce una nuova istanza Query che include tutti i documenti nel database contenuti in una raccolta o sottoraccolta con il collectionId specificato .

Firma:

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

Parametri

Parametro Tipo Descrizione
fuoco Firestore Un riferimento all'istanza root Firestore .
ID raccolta corda Identifica le raccolte su cui eseguire query. Verrà inclusa ogni raccolta o sottoraccolta con questo ID come ultimo segmento del percorso. Non può contenere una barra.

Ritorna:

Domanda < Dati documento , Dati documento >

La Query creata .

connectFirestoreEmulator(firestore, host, porta, opzioni)

Modifica questa istanza per comunicare con l'emulatore Cloud Firestore.

Firma:

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

Parametri

Parametro Tipo Descrizione
Firestore Firestore L'istanza Firestore da configurare per connettersi all'emulatore.
ospite corda L'host emulatore (Ex: localhost).
porta numero La porta dell'emulatore (Ex: 9000).
opzioni {MockUserToken?: EmulatormockTokenOptions | corda; }

Ritorna:

vuoto

Doc (Firestore, Path, PathSegments)

Ottiene un'istanza DocumentReference che si riferisce al documento nel percorso assoluto specificato.

Firma:

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

Parametri

Parametro Tipo Descrizione
Firestore Firestore Un riferimento all'istanza del Firestore radice.
sentiero corda Un percorso separato da una taglio a un documento.
percorsi corda[] Segmenti di percorso aggiuntivi che verranno applicati rispetto al primo argomento.

Ritorna:

Riferimento documento < DocumentData , DocumentData >

L'istanza DocumentReference .

Eccezioni

Se il percorso finale ha un numero dispari di segmenti e non indica un documento.

runTransaction(firestore, updateFunction, opzioni)

Esegue la updateFunction fornita e quindi tenta di commettere le modifiche applicate all'interno della transazione. Se un documento letto nella transazione è cambiato, Cloud Firestore gira la updateFunction . Se non riesce a impegnarsi dopo 5 tentativi, la transazione fallisce.

Il numero massimo di scritture consentite in una singola transazione è 500.

Firma:

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

Parametri

Parametro Tipo Descrizione
Firestore Firestore Un riferimento al database FireStore per eseguire questa transazione.
UpdateFunction (Transazione: transazione ) => Promise <T> La funzione da eseguire nel contesto della transazione.
opzioni Transazioni Un obiettivo di opzioni per configurare il numero massimo di tentativi di impegnarsi.

Ritorna:

Promise <T>

Se la transazione ha completato correttamente o è stata esplicitamente interrotta (la updateFunction ha restituito una promessa fallita), la promessa restituita dalla updateFunction viene restituito qui. Altrimenti, se la transazione non è riuscita, viene restituita una promessa rifiutata con l'errore di errore corrispondente.

terminare(firestore)

Termina l'istanza Firestore fornita.

Dopo aver chiamato terminate() è possibile utilizzare solo le funzioni clearIndexedDbPersistence() . Qualsiasi altra funzione lancerà un FirestoreError . La terminazione non annulla alcuna scrittura in sospeso e qualsiasi promessa che in attesa di una risposta dal server non verrà risolta.

Per riavviare dopo la risoluzione, creare una nuova istanza di Firestore con GetFireStore () .

Firma:

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

Parametri

Parametro Tipo Descrizione
Firestore Firestore L'istanza Firestore da terminare.

Ritorna:

Promise <void>

Una Promise che viene risolta quando l'istanza è stata terminata con successo.

WriteBatch (FireStore)

Crea un batch di scrittura, usato per eseguire più scritture come singola operazione atomica. Il numero massimo di scritture consentite in un singolo WriteBatch è 500.

Il risultato di queste scritture si rifletterà solo nelle letture dei documenti che si verificano dopo la risoluzione della promessa restituita. Se il client è offline, la scrittura fallisce. Se desideri vedere le modifiche locali o le scritture buffer fino a quando il cliente non è online, usa il Firestore SDK completo.

Firma:

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

Parametri

Parametro Tipo Descrizione
Firestore Firestore

Ritorna:

WriteBatch

Un WriteBatch che può essere utilizzato per eseguire atomicamente più scritture.

funzione()

contare()

Crea un oggetto AggregateField che può essere utilizzato per calcolare il conteggio dei documenti nell'insieme dei risultati di una query.

Firma:

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

Ritorna:

Aggregatefield <numero>

deletefield ()

Restituisce un Sentinel per l'uso con updatedoc () o setDoc () con {merge: true} per contrassegnare un campo per la cancellazione.

Firma:

export declare function deleteField(): FieldValue;

Ritorna:

FieldValue

documentID ()

Restituisce uno speciale FieldPath Sentinel per fare riferimento all'ID di un documento. Può essere utilizzato nelle query per ordinare o filtrare dall'ID documento.

Firma:

export declare function documentId(): FieldPath;

Ritorna:

CampoPercorso

getFireStore ()

Restituisce l'istanza di FireStore predefinita esistente associata al FireBasepp predefinito . Se non esiste un'istanza, inizializza una nuova istanza con impostazioni predefinite.

Firma:

export declare function getFirestore(): Firestore;

Ritorna:

Firestore

L'istanza del fuoco dell'app fornita.

servertimestamp ()

Restituisce una sentinella utilizzata con setDoc () o updatedoc () per includere un timestamp generato dal server nei dati scritti.

Firma:

export declare function serverTimestamp(): FieldValue;

Ritorna:

FieldValue

funzione (databaseid, ...)

getFirestore(IDdatabase)

Questa API è fornita come anteprima per gli sviluppatori e può cambiare in base al feedback che riceviamo. Non utilizzare questa API in un ambiente di produzione.

Restituisce l'istanza di FireStore esistente associata al FireBasepp predefinito . Se non esiste un'istanza, inizializza una nuova istanza con impostazioni predefinite.

Firma:

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

Parametri

Parametro Tipo Descrizione
DatabaseId corda Il nome del database.

Ritorna:

Firestore

L'istanza del fuoco dell'app fornita.

funzione (elementi, ...)

ArrayRemove (Elements)

Restituisce un valore speciale che può essere utilizzato con setDoc () o che indica al server di rimuovere gli elementi forniti da qualsiasi valore di array già esistente sul server. Tutte le istanze di ciascun elemento specificato verranno rimosse dall'array. Se il campo modificato non è già un array, verrà sovrascritto da un array vuoto.

Firma:

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

Parametri

Parametro Tipo Descrizione
elementi sconosciuto[] Gli elementi da rimuovere dall'array.

Ritorna:

FieldValue

FieldValue Sentinel per l'uso in una chiamata a setDoc() o updateDoc()

arrayUnione(elementi)

Restituisce un valore speciale che può essere utilizzato con setDoc () o updatedoc () che indica al server a unire gli elementi indicati con qualsiasi valore di array già esistente sul server. Ogni elemento specificato che non esiste già nell'array verrà aggiunto alla fine. Se il campo da modificare non è già un array, verrà sovrascritto da un array contenente esattamente gli elementi specificati.

Firma:

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

Parametri

Parametro Tipo Descrizione
elementi sconosciuto[] Gli elementi all'unione nell'array.

Ritorna:

FieldValue

FieldValue Sentinel per l'uso in una chiamata a setDoc() o updateDoc() .

funzione (campo, ...)

Medio (campo)

Crea un oggetto AggregateField che può essere utilizzato per calcolare la media di un campo specificato su un intervallo di documenti nel set di risultati di una query.

Firma:

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

Parametri

Parametro Tipo Descrizione
campo stringa | CampoPercorso Specifica il campo in media attraverso il set di risultati.

Ritorna:

Aggregatefield <numero | null>

somma (campo)

Crea un oggetto AggregateField che può essere utilizzato per calcolare la somma di un campo specificato su un intervallo di documenti nell'insieme dei risultati di una query.

Firma:

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

Parametri

Parametro Tipo Descrizione
campo stringa | CampoPercorso Specifica il campo da sommare attraverso il set di risultati.

Ritorna:

Aggregatefield <numero>

funzione (fieldpath, ...)

Orderby (FieldPath, Directionstr)

Crea una queryOrderByConstraint che ordina il risultato della query per il campo specificato, facoltativamente in ordine decrescente anziché ascendente.

Firma:

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

Parametri

Parametro Tipo Descrizione
fieldPath stringa | CampoPercorso Il campo da ordinare.
direzionitr Orderbydirection Direzione opzionale da ordinare per ('ASC' o 'DESC'). Se non specificato, l'ordine sarà ascendente.

Ritorna:

QueryOrderByConstraint

Il QueryOrderBycostraint creato .

Where (FieldPath, Opstr, Value)

Crea un QueryFieldFilterConstraint che impone che i documenti debbano contenere il campo specificato e che il valore dovrebbe soddisfare il vincolo di relazione fornito.

Firma:

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

Parametri

Parametro Tipo Descrizione
fieldPath stringa | CampoPercorso Il percorso per confrontare
Opstr Wherefilterop La stringa operativa (ad esempio "& lt;", "& lt; =", "==", "& lt;", "& lt; =", "! =").
valore sconosciuto Il valore per il confronto

Ritorna:

QueryfieldFilterConstraint

Il Creato QueryFieldFilterConstraint .

funzione(valoricampo, ...)

endAt(valoricampo)

Crea un QueryenDatConstraint che modifica il set di risultati per terminare nei campi forniti rispetto all'ordine della query. L'ordine dei valori del campo deve corrispondere all'ordine dell'ordine per clausole della query.

Firma:

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

Parametri

Parametro Tipo Descrizione
valori di campo sconosciuto[] Il campo valorizza per porre fine a questa query in, in ordine dell'ordine della query da.

Ritorna:

QueryenDatConstraint

Un QueryenDatConstraint da passare a query()

EndBefore (FieldValues)

Crea un QueryenDatConstraint che modifica il risultato set per terminare davanti ai campi forniti rispetto all'ordine della query. L'ordine dei valori del campo deve corrispondere all'ordine dell'ordine per clausole della query.

Firma:

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

Parametri

Parametro Tipo Descrizione
valori di campo sconosciuto[] Il campo valorizza per porre fine a questa query prima, in ordine di ordine della query.

Ritorna:

QueryenDatConstraint

Un QueryenDatConstraint da passare a query()

startAfter(valoricampo)

Crea una querystartContraint che modifica il risultato impostato dopo i campi forniti rispetto all'ordine della query. L'ordine dei valori del campo deve corrispondere all'ordine dell'ordine per clausole della query.

Firma:

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

Parametri

Parametro Tipo Descrizione
valori di campo sconosciuto[] Il campo valori per avviare questa query dopo, in ordine di ordine della query.

Ritorna:

QuerystartatConstraint

Un querystartatContraint da passare a query()

StartAT (FieldValues)

Crea una querystartContraint che modifica il set di risultati per iniziare dai campi forniti rispetto all'ordine della query. L'ordine dei valori del campo deve corrispondere all'ordine dell'ordine per clausole della query.

Firma:

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

Parametri

Parametro Tipo Descrizione
valori di campo sconosciuto[] Il campo valori per avviare questa query in, in ordine dell'ordine della query da.

Ritorna:

QuerystartatConstraint

Un querystartatContraint da passare a query() .

funzione (a sinistra, ...)

AggregateFieldEqual (sinistra, a destra)

Confronta due 'aggregatefield `` istanze per l'uguaglianza.

Firma:

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

Parametri

Parametro Tipo Descrizione
Sinistra Aggregatefield <Unknown> Confronta questo campo aggregato a right .
Giusto Aggregatefield <Unknown> Confronta questo campo aggregato a left .

Ritorna:

booleano

AggregateQuerySnapShoteQuel (sinistra, a destra)

Confronta due istanze AggregateQuerySnapshot per l'uguaglianza.

Due istanze AggregateQuerySnapshot sono considerate "uguali" se hanno query sottostanti che confrontano uguali e gli stessi dati.

Firma:

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

Parametri

Parametro Tipo Descrizione
Sinistra AggregateQuerySnapShot <Aggregatespectype, AppModelType, dbModelType> Il primo AggregateQuerySnapshot da confrontare.
Giusto AggregateQuerySnapShot <Aggregatespectype, AppModelType, dbModelType> Il secondo AggregateQuerySnapshot da confrontare.

Ritorna:

booleano

true se gli oggetti sono "uguali", come definito sopra o false altrimenti.

queryEqual(sinistra, destra)

Restituisce vero se le query fornite indicano la stessa raccolta e applicano gli stessi vincoli.

Firma:

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

Parametri

Parametro Tipo Descrizione
Sinistra Domanda <AppModelType, DbModelType> Una Query da confrontare.
Giusto Domanda <AppModelType, DbModelType> Una Query da confrontare.

Ritorna:

booleano

Vero se i riferimenti indicano la stessa posizione nello stesso database FireStore.

Refequal (sinistra, a destra)

Restituisce vero se i riferimenti forniti sono uguali.

Firma:

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

Parametri

Parametro Tipo Descrizione
Sinistra Riferimento documento <AppModelType, dbModelType> | Raccoltareferenza <AppModelType, DbModelType> Un riferimento a confrontare.
Giusto Riferimento documento <AppModelType, dbModelType> | Raccoltareferenza <AppModelType, DbModelType> Un riferimento a confrontare.

Ritorna:

booleano

Vero se i riferimenti indicano la stessa posizione nello stesso database FireStore.

SnapShotequal (sinistra, a destra)

Restituisce vero se le istantanee fornite sono uguali.

Firma:

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

Parametri

Parametro Tipo Descrizione
Sinistra DocumentsNapShot <AppModelType, dbModelType> | Querysnapshot <AppModelType, DbModelType> Un'istantanea da confrontare.
Giusto DocumentsNapShot <AppModelType, dbModelType> | Querysnapshot <AppModelType, DbModelType> Un'istantanea da confrontare.

Ritorna:

booleano

Vero se le istantanee sono uguali.

funzione(limite, ...)

limite (limite)

Crea una querylimitConstraint che restituisce solo i primi documenti corrispondenti.

Firma:

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

Parametri

Parametro Tipo Descrizione
limite numero Il numero massimo di elementi da restituire.

Ritorna:

QuerylimitConstraint

La querylimitConstraint creata .

limite all'ultimo(limite)

Crea una querylimitConstraint che restituisce solo gli ultimi documenti corrispondenti.

È necessario specificare almeno una clausola orderBy per le query limitToLast , altrimenti verrà lanciata un'eccezione durante l'esecuzione.

Firma:

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

Parametri

Parametro Tipo Descrizione
limite numero Il numero massimo di elementi da restituire.

Ritorna:

QuerylimitConstraint

La querylimitConstraint creata .

funzione (loglevel, ...)

setLoLevel (logLevel)

Imposta la verbosità dei registri del fuoco di cloud (debug, errore o silenzioso).

Firma:

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

Parametri

Parametro Tipo Descrizione
loglevel Loglevel La verbosità impostata per l'attività e la registrazione degli errori. Può essere uno dei seguenti valori:
  • debug per il livello di registrazione più verbosio, principalmente per il debug.
  • error per registrare solo errori.
  • silent to turn off logging.

Ritorna:

vuoto

funzione (n, ...)

incremento (n)

Restituisce un valore speciale che può essere utilizzato con setDoc () o updatedoc () che indica al server di incrementare il valore corrente del campo in base al valore dato.

Se l'operando o il valore del campo corrente utilizza la precisione del punto mobile, tutta l'aritmetica segue la semantica IEEE 754. Se entrambi i valori sono numeri interi, valori al di fuori dell'intervallo di numeri di sicurezza di JavaScript ( Number.MIN_SAFE_INTEGER a Number.MAX_SAFE_INTEGER ) sono anche soggetti a perdita di precisione. Inoltre, una volta elaborati dal backend del Firestore, tutte le operazioni intera sono limitate tra -2^63 e 2^63-1.

Se il valore del campo corrente non è di tipo number o se il campo non esiste ancora, la trasformazione imposta il campo sul valore dato.

Firma:

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

Parametri

Parametro Tipo Descrizione
N numero Il valore da incrementare da.

Ritorna:

FieldValue

FieldValue Sentinel per l'uso in una chiamata a setDoc() o updateDoc()

funzione (query, ...)

getAggreGate (query, aggregatespec)

Calcola le aggregazioni specificate sui documenti nel set di risultati della query data senza effettivamente scaricare i documenti.

L'uso di questa funzione per eseguire aggregazioni è efficiente perché vengono scaricati solo i valori di aggregazione finale, non i dati dei documenti. Questa funzione può eseguire aggregazioni dei documenti nei casi in cui il set di risultati è proibitivamente grande da scaricare del tutto (migliaia di documenti).

Firma:

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

Parametri

Parametro Tipo Descrizione
domanda Domanda <AppModelType, DbModelType> La query il cui set di risultati è aggregato.
AggregatesPec Aggregatespectype Un oggetto AggregateSpec che specifica gli aggregati da eseguire sul set di risultati. AggregatesPec specifica gli alias per ciascun aggregato, che può essere utilizzato per recuperare il risultato aggregato.

Ritorna:

Promise < AggregateQuerySnapShot <Aggregatespectype, AppModelType, dbModelType >>

Esempio

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 (query)

Calcola il numero di documenti nel set di risultati della query data senza effettivamente scaricare i documenti.

L'uso di questa funzione per contare i documenti è efficiente perché viene scaricato solo il conteggio finale, non i dati dei documenti. Questa funzione può contare i documenti nei casi in cui il set di risultati è proibitivamente grande da scaricare del tutto (migliaia di documenti).

Firma:

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

Parametri

Parametro Tipo Descrizione
domanda Domanda <AppModelType, DbModelType> La query il cui set di risultati è calcolato.

Ritorna:

Promise < AggregateQuerySnapShot <{conta: aggregatefield <Mumber>; }, AppModelType, dbModelType >>

Una promessa che sarà risolta con il conteggio; Il conteggio può essere recuperato da snapshot.data().count , dove snapshot è l' AggregateQuerySnapshot a cui si risolve la promessa restituita.

getdocs (query)

Esegue la query e restituisce i risultati come querysnapshot .

Tutte le query vengono eseguite direttamente dal server, anche se la query è stata precedentemente eseguita. Le recenti modifiche si riflettono solo nei risultati recuperati se sono già stati applicati dal backend. Se il client è offline, l'operazione non riesce. Per vedere il risultato precedentemente memorizzato nella cache e le modifiche locali, utilizzare il Firestore SDK completo.

Firma:

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

Parametri

Parametro Tipo Descrizione
domanda Domanda <AppModelType, DbModelType> La Query da eseguire.

Ritorna:

Promise < QuerySnapShot <AppModelType, dbModelType >>

Una promessa che sarà risolta con i risultati della query.

query(query, compositeFilter, queryConstraints)

Crea una nuova istanza immutabile di query che viene estesa per includere anche vincoli di query aggiuntivi.

Firma:

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

Parametri

Parametro Tipo Descrizione
domanda Domanda <AppModelType, DbModelType> L'istanza di query da utilizzare come base per i nuovi vincoli.
compositefilter QueryCompositeFilterConstraint La queryCompositeFilterConstraint da applicare. Crea queryCompositeFilterConstraint usando e () o () .
QueryConstraints QuerynonfilterConstraint [] Ulteriore QuerynonfilterConstraint s da applicare (ad esempio orderby () , limite () ).

Ritorna:

Domanda <AppModelType, DbModelType>

Eccezioni

Se uno qualsiasi dei vincoli di query forniti non può essere combinato con i vincoli esistenti o nuovi.

query(query, queryVincoli)

Crea una nuova istanza immutabile di query che viene estesa per includere anche vincoli di query aggiuntivi.

Firma:

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

Parametri

Parametro Tipo Descrizione
domanda Domanda <AppModelType, DbModelType> L'istanza di query da utilizzare come base per i nuovi vincoli.
QueryConstraints Queryconstraint [] L'elenco di Queryconstraint s da applicare.

Ritorna:

Domanda <AppModelType, DbModelType>

Eccezioni

Se uno qualsiasi dei vincoli di query forniti non può essere combinato con i vincoli esistenti o nuovi.

funzione(queryVincoli, ...)

e(queryVincoli)

Crea una nuova queryCompositeFilterConstraint che è una congiunzione dei vincoli di filtro indicati. Un filtro congiunta include un documento se soddisfa tutti i filtri indicati.

Firma:

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

Parametri

Parametro Tipo Descrizione
QueryConstraints Queryfilterconstraint [] Opzionale. L'elenco di queryfilterconstraint s per eseguire una congiunzione per. Questi devono essere creati con chiamate a dove () , O() , o e () .

Ritorna:

QueryCompositeFilterConstraint

La nuova creazione di querycositefilterconstraint .

o (queryconstraints)

Crea una nuova queryCompositeFilterConstraint che è una disgiunzione dei vincoli di filtro indicati. Un filtro di disgiunzione include un documento se soddisfa uno dei filtri indicati.

Firma:

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

Parametri

Parametro Tipo Descrizione
QueryConstraints Queryfilterconstraint [] Opzionale. L'elenco di queryfilterconstraint S per eseguire una disgiunzione per. Questi devono essere creati con chiamate a dove () , O() , o e () .

Ritorna:

QueryCompositeFilterConstraint

La nuova creazione di querycositefilterconstraint .

funzione(riferimento, ...)

addDoc (riferimento, dati)

Aggiungi un nuovo documento a CollectionReference SPECIFICATO con i dati forniti, assegnandolo automaticamente un ID documento.

Il risultato di questa scrittura si rifletterà solo nelle letture dei documenti che si verificano dopo che la promessa restituita si risolve. Se il client è offline, la scrittura fallisce. Se desideri vedere le modifiche locali o le scritture buffer fino a quando il cliente non è online, usa il Firestore SDK completo.

Firma:

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

Parametri

Parametro Tipo Descrizione
riferimento Raccoltareferenza <AppModelType, DbModelType> Un riferimento alla raccolta per aggiungere questo documento a.
dati ConfieldValue <AppModelType> Un oggetto contenente i dati per il nuovo documento.

Ritorna:

Promise < DocumentReference <AppModelType, dbModelType >>

Una Promise risolta con un DocumentReference che punta al documento appena creato dopo che è stato scritto al backend.

Eccezioni

Errore: se l'ingresso fornito non è un documento Firestore valido.

Raccolta (Riferimento, Path, PathSegments)

Ottiene un'istanza CollectionReference che si riferisce a una subcollezione di reference sul percorso relativo specificato.

Firma:

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

Parametri

Parametro Tipo Descrizione
riferimento Raccoltareferenza <AppModelType, DbModelType> Un riferimento a una raccolta.
sentiero corda Un percorso separato da una raccolta verso una raccolta.
percorsi corda[] Segmenti di percorso aggiuntivi da applicare rispetto al primo argomento.

Ritorna:

Raccoltareferenza < DocumentData , DocumentData >

L'istanza CollectionReference .

Eccezioni

Se il percorso finale ha un numero pari di segmenti e non indica una raccolta.

Raccolta (Riferimento, Path, PathSegments)

Ottiene un'istanza CollectionReference che si riferisce a una subcollezione di reference sul percorso relativo specificato.

Firma:

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

Parametri

Parametro Tipo Descrizione
riferimento Riferimento documento <AppModelType, DbModelType> Un riferimento a un documento FireStore.
sentiero corda Un percorso separato da una raccolta verso una raccolta.
percorsi corda[] Segmenti di percorso aggiuntivi che verranno applicati rispetto al primo argomento.

Ritorna:

Raccoltareferenza < DocumentData , DocumentData >

L'istanza CollectionReference .

Eccezioni

Se il percorso finale ha un numero pari di segmenti e non indica una raccolta.

Eletedoc (riferimento)

Elimina il documento a cui si fa riferimento dal DocumentReference specificato .

La cancellazione si rifletterà solo nelle letture dei documenti che si verificano dopo che la promessa restituita si risolve. Se il client è offline, l'eliminazione non riesce. Se desideri vedere le modifiche locali o le scritture buffer fino a quando il cliente non è online, usa il Firestore SDK completo.

Firma:

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

Parametri

Parametro Tipo Descrizione
riferimento Riferimento documento <AppModelType, DbModelType> Un riferimento al documento da eliminare.

Ritorna:

Promise <void>

Una Promise risolta una volta che il documento è stato eliminato con successo dal backend.

Doc (Riferimento, Path, PathSegments)

Ottiene un'istanza DocumentReference che si riferisce a un documento all'interno reference nel percorso relativo specificato. Se non viene DocumentReference alcun percorso, verrà utilizzato un ID univoco generato automaticamente .

Firma:

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

Parametri

Parametro Tipo Descrizione
riferimento Raccoltareferenza <AppModelType, DbModelType> Un riferimento a una raccolta.
sentiero corda Un percorso separato da una taglio a un documento. Deve essere omesso di utilizzare ID generati automatici.
percorsi corda[] Segmenti di percorso aggiuntivi che verranno applicati rispetto al primo argomento.

Ritorna:

Riferimento documento <AppModelType, DbModelType>

L'istanza DocumentReference .

Eccezioni

Se il percorso finale ha un numero dispari di segmenti e non indica un documento.

Doc (Riferimento, Path, PathSegments)

Ottiene un'istanza DocumentReference che si riferisce a un documento all'interno reference nel percorso relativo specificato.

Firma:

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

Parametri

Parametro Tipo Descrizione
riferimento Riferimento documento <AppModelType, DbModelType> Un riferimento a un documento FireStore.
sentiero corda Un percorso separato da una taglio a un documento.
percorsi corda[] Segmenti di percorso aggiuntivi che verranno applicati rispetto al primo argomento.

Ritorna:

Riferimento documento < DocumentData , DocumentData >

L'istanza DocumentReference .

Eccezioni

Se il percorso finale ha un numero dispari di segmenti e non indica un documento.

getdoc (riferimento)

Legge il documento a cui si fa riferimento dal riferimento del documento specificato.

Tutti i documenti vengono recuperati direttamente dal server, anche se il documento è stato precedentemente letto o modificato. Le recenti modifiche si riflettono nei DocumentSnapshot recuperati solo se sono già state applicate dal backend. Se il client è offline, la lettura non riesce. Se ti piace usare la memorizzazione nella cache o vedere le modifiche locali, usa il Firestore SDK completo.

Firma:

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

Parametri

Parametro Tipo Descrizione
riferimento Riferimento documento <AppModelType, DbModelType> Il riferimento del documento a prendere.

Ritorna:

Promise < DocumentsNapShot <AppModelType, dbModelType >>

Una promessa risolta con un DocumentSnapshot contenente il contenuto del documento corrente.

setDoc(riferimento, dati)

Scrive nel documento a cui si fa riferimento il DocumentReference specificato . Se il documento non esiste ancora, verrà creato.

Il risultato di questa scrittura si rifletterà solo nelle letture dei documenti che si verificano dopo che la promessa restituita si risolve. Se il client è offline, la scrittura fallisce. Se desideri vedere le modifiche locali o le scritture buffer fino a quando il cliente non è online, usa il Firestore SDK completo.

Firma:

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

Parametri

Parametro Tipo Descrizione
riferimento Riferimento documento <AppModelType, DbModelType> Un riferimento al documento da scrivere.
dati ConfieldValue <AppModelType> Una mappa dei campi e dei valori per il documento.

Ritorna:

Promise <void>

Una Promise risolta una volta che i dati sono stati scritti con successo al backend.

Eccezioni

Errore: se l'ingresso fornito non è un documento Firestore valido.

setDoc(riferimento, dati, opzioni)

Scrive nel documento a cui si fa riferimento il DocumentReference specificato . Se il documento non esiste ancora, verrà creato. Se fornisci merge o mergeFields , i dati forniti possono essere uniti in un documento esistente.

Il risultato di questa scrittura si rifletterà solo nelle letture dei documenti che si verificano dopo che la promessa restituita si risolve. Se il client è offline, la scrittura fallisce. Se desideri vedere le modifiche locali o le scritture buffer fino a quando il cliente non è online, usa il Firestore SDK completo.

Firma:

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

Parametri

Parametro Tipo Descrizione
riferimento Riferimento documento <AppModelType, DbModelType> Un riferimento al documento da scrivere.
dati ParzialewithfieldValue <AppModelType> Una mappa dei campi e dei valori per il documento.
opzioni Setoptions Un oggetto per configurare il comportamento set.

Ritorna:

Promise <void>

Una Promise risolta una volta che i dati sono stati scritti con successo al backend.

Eccezioni

Errore: se l'ingresso fornito non è un documento Firestore valido.

aggiornatoC (riferimento, dati)

Aggiorna i campi nel documento a cui si fa riferimento il DocumentReference specificato . L'aggiornamento fallirà se applicato a un documento che non esiste.

Il risultato di questo aggiornamento si rifletterà solo nelle letture dei documenti che si verificano dopo la risoluzione della promessa restituita. Se il client è offline, l'aggiornamento non riesce. Se desideri vedere le modifiche locali o le scritture buffer fino a quando il cliente non è online, usa il Firestore SDK completo.

Firma:

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

Parametri

Parametro Tipo Descrizione
riferimento Riferimento documento <AppModelType, DbModelType> Un riferimento al documento da aggiornare.
dati Aggiornato <Dbmodeltype> Un oggetto contenente i campi e i valori con cui aggiornare il documento. I campi possono contenere punti per fare riferimento ai campi nidificati all'interno del documento.

Ritorna:

Promise <void>

Una Promise risolta una volta che i dati sono stati scritti con successo al backend.

Eccezioni

Errore: se l'input fornito non è valido dati FireStore.

aggiornatoC (riferimento, campo, valore, più campi

Aggiorna i campi nel documento a cui si fa riferimento dal DocumentReference specificato che l'aggiornamento fallirà se applicato a un documento che non esiste.

I campi nidificati possono essere aggiornati fornendo stringhe per il percorso di campo separato a punti o fornendo oggetti FieldPath .

Il risultato di questo aggiornamento si rifletterà solo nelle letture dei documenti che si verificano dopo la risoluzione della promessa restituita. Se il client è offline, l'aggiornamento non riesce. Se desideri vedere le modifiche locali o le scritture buffer fino a quando il cliente non è online, usa il Firestore SDK completo.

Firma:

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

Parametri

Parametro Tipo Descrizione
riferimento Riferimento documento <AppModelType, DbModelType> Un riferimento al documento da aggiornare.
campo stringa | CampoPercorso Il primo campo da aggiornare.
valore sconosciuto Il primo valore.
più campi e valori sconosciuto[] Coppie di valore chiave aggiuntive.

Ritorna:

Promise <void>

Una Promise risolta una volta che i dati sono stati scritti con successo al backend.

Eccezioni

Errore: se l'input fornito non è valido dati FireStore.

funzione(istantanea, ...)

EDAT (istantanea)

Crea un QueryenDatConstraint che modifica il set di risultati per terminare nel documento fornito (inclusivo). La posizione finale è relativa all'ordine della query. Il documento deve contenere tutti i campi forniti nell'ordine della query.

Firma:

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

Parametri

Parametro Tipo Descrizione
istantanea DocumentsNapShot <AppModelType, DbModelType> L'istantanea del documento a cui finire.

Ritorna:

QueryenDatConstraint

Un QueryenDatConstraint da passare a query()

finePrima(istantanea)

Crea un QueryenDatConstraint che modifica il set di risultati per terminare prima del documento fornito (esclusivo). La posizione finale è relativa all'ordine della query. Il documento deve contenere tutti i campi forniti nell'ordine della query.

Firma:

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

Parametri

Parametro Tipo Descrizione
istantanea DocumentsNapShot <AppModelType, DbModelType> L'istantanea del documento finirà prima.

Ritorna:

QueryenDatConstraint

Un QueryenDatConstraint da passare a query()

StartaFter (Snapshot)

Crea una querystartConstraint che modifica il set di risultati per iniziare dopo il documento fornito (esclusivo). La posizione iniziale è relativa all'ordine della query. Il documento deve contenere tutti i campi forniti nell'ordine della query.

Firma:

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

Parametri

Parametro Tipo Descrizione
istantanea DocumentsNapShot <AppModelType, DbModelType> L'istantanea del documento da iniziare dopo.

Ritorna:

QuerystartatConstraint

Un querystartatContraint da passare a query()

startAt(istantanea)

Crea una querystartConstraint che modifica il set di risultati per iniziare dal documento fornito (inclusivo). La posizione iniziale è relativa all'ordine della query. Il documento deve contenere tutti i campi forniti orderBy di questa query.

Firma:

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

Parametri

Parametro Tipo Descrizione
istantanea DocumentsNapShot <AppModelType, DbModelType> L'istantanea del documento da iniziare.

Ritorna:

QuerystartatConstraint

Un querystartatContraint da passare a query() .

ADDPREFIXTOKEYS

Restituisce una nuova mappa in cui ogni chiave è prefissata con la chiave esterna aggiunta a un punto.

Firma:

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];
};

AggregateFieldType

L'Unione di tutti i tipi AggregateField supportati da FireStore.

Firma:

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

Aggregatespecdata

Un tipo le cui chiavi sono prelevate da un AggregateSpec e i cui valori sono il risultato dell'aggregazione eseguita dal corrispondente AggregateField dall'input AggregateSpec .

Firma:

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

AggregateType

Tipo di unione che rappresenta il tipo aggregato da eseguire.

Firma:

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

ChildUpdatefields

Aiutante per il calcolo dei campi nidificati per un determinato tipo T1. Questo è necessario per distribuire tipi sindacali come undefined | {...} (accade per oggetti di scena opzionali) o {a: A} | {b: B} .

In questo caso d'uso, V viene utilizzato per distribuire i tipi dell'Unione di T[K] Record , poiché T[K] viene valutato come espressione e non distribuito.

Vedi https://www.typescriptlang.org/docs/handbook/advanced-types.html#distributive-conditional-types

Firma:

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

FireStoreRrorCode

L'insieme dei codici di stato del fuoco. I codici sono gli stessi in quelli esposti da GRPC qui: https://github.com/grpc/grpc/blob/master/doc/statusSodes.md

Valori possibili: - "Annullati": l'operazione è stata annullata (in genere dal chiamante). - "Sconosciuto": errore sconosciuto o un errore da un diverso dominio di errore. - "Invalid-Argument": il cliente ha specificato un argomento non valido. Si noti che ciò differisce da "non riuscita". "Invalid-Argument" indica argomenti problematici indipendentemente dallo stato del sistema (ad es. Un nome di campo non valido). - "Deadline-Exceded": scadenza scaduta prima che l'operazione potesse completare. Per le operazioni che cambiano lo stato del sistema, questo errore può essere restituito anche se l'operazione è completata correttamente. Ad esempio, una risposta riuscita da un server avrebbe potuto essere ritardata abbastanza a lungo da consentire alla scadenza della scadenza. - 'No-FOUND': non è stato trovato alcuni documenti richiesti. - "Già esiste": alcuni documenti che abbiamo tentato di creare già esistono. - 'Denied autorizzazione': il chiamante non ha il permesso di eseguire l'operazione specificata. -"Esplorato le risorse": alcune risorse sono state esaurite, forse una quota per utente, o forse l'intero file system è fuori spazio. - "Precondizioni non riuscite": l'operazione è stata respinta perché il sistema non è in uno stato richiesto per l'esecuzione dell'operazione. - 'Aborted': l'operazione è stata interrotta, in genere a causa di un problema di concorrenza come le transazioni aborte, ecc.- 'Out-of-range': l'operazione è stata tentata oltre l'intervallo valido. - "Unimplement": l'operazione non è implementata o non supportata/abilitata. - 'Internal': errori interni. Significa che alcuni invarianti previsti dal sistema sottostante sono stati rotti. Se vedi uno di questi errori, qualcosa è molto rotto. - "non disponibile": il servizio non è attualmente disponibile. Questa è molto probabilmente una condizione transitoria e può essere corretta riprovando con un backoff. - "Perdita di dati": perdita o corruzione dei dati irrecuperabili. - "non autenticato": la richiesta non ha credenziali di autenticazione valide per l'operazione.

Firma:

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';

Nidificatifield

Per ogni campo (ad esempio 'bar'), trova tutte le chiavi nidificate (ad esempio { 'bar.baz': t1, 'bar.qux': t2 } ). Intersecali insieme per creare una singola mappa contenente tutte le chiavi possibili che sono tutte contrassegnate come opzionali

Firma:

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

Orderbydirection

La direzione di una clausola OrderBy () è specificata come "DESC" o "ASC" (discendente o ascendente).

Firma:

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

ParzialewithfieldValue

Simile al Partial<T> di TypeScript , ma consente di omettere i campi nidificati e i valori di campo di essere passati come valori di proprietà.

Firma:

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

Primitivo

Tipi primitivi.

Firma:

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

QueryConstraintType

Descrive i diversi vincoli di query disponibili in questo SDK.

Firma:

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

Queryfilterconstraint

QueryFilterConstraint è un tipo di unione Helper che rappresenta QueryFieldFilterConstraint e QueryCompositeFilterConstraint .

Firma:

export declare type QueryFilterConstraint = QueryFieldFilterConstraint | QueryCompositeFilterConstraint;

QuerynonfilterConstraint

QueryNonFilterConstraint è un tipo di unione Helper che rappresenta i querycostraints che vengono utilizzati per restringere o ordinare l'insieme di documenti, ma che non filtrano esplicitamente su un campo del documento. QueryNonFilterConstraint s sono creati invocando orderby () , iniziare a() , startafter () , endBefore () , endat () , limite () o limittolast () e può quindi essere passato a query () per creare una nuova istanza di query che contiene anche il QueryConstraint .

Firma:

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

Setoptions

Un oggetto Opzioni che configura il comportamento di setDoc () e chiama. Queste chiamate possono essere configurate per eseguire le fusioni granulari invece di sovrascrivere i documenti target nella merge: true interezza fornendo un SetOptions .

Firma:

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

Union ToIndtersencection

Dato un tipo di unione U = T1 | T2 | ... , restituisce un tipo intersecato (T1 & T2 & ...) .

Utilizza tipi condizionali distributivi e inferenza dai tipi condizionali. Funziona perché più candidati per lo stesso tipo variabile in posizioni contro-varianti provoca l'inferimento di un tipo di intersezione. https://www.typescriptlang.org/docs/handbook/advanced-types.html#type-inference-in-conditional-types https://stackoverflow.com/questions/50374908/transform-union-type-to-intersection -tipo

Firma:

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

Aggiornato

Aggiorna i dati (per l'uso con updatedoc () ) che consiste in percorsi sul campo (ad esempio "foo" o "foo.baz") mappati ai valori. Campi che contengono i campi nidificati di riferimento di punti all'interno del documento. I valori di campo possono essere passati come valori di proprietà.

Firma:

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

Wherefilterop

Le condizioni di filtro in una clausola dove () sono specificate usando le stringhe '& lt;', '& lt; =', '==', '! =', '& Gt; =', '& gt;', 'Array-Contains' , "in", "contad-contains-any" e "not-in".

Firma:

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

ConfieldValue

Consente di passare i valori di campo come valore della proprietà mantenendo la sicurezza del tipo.

Firma:

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