@firebase/firestore

関数

関数 説明
function(app, ...)
getFirestore(app) 指定された FirebaseApp に関連付けられている既存のデフォルトの Firestore インスタンスを返します。インスタンスが存在しない場合は、新しいインスタンスをデフォルト設定で初期化します。
getFirestore(app, databaseId) (ベータ版)指定された FirebaseApp に関連付けられている既存の名前付き Firestore インスタンスを返します。インスタンスが存在しない場合は、新しいインスタンスをデフォルト設定で初期化します。
InitializeFirestore(app, settings, databaseId) 指定された設定で Firestore の新しいインスタンスを初期化します。他の関数(getFirestore() など)の前にのみ呼び出すことができます。カスタム設定が空の場合、この関数は getFirestore() の呼び出しと同じです。
function(firestore, ...) を参照してください。
clearIndexedDbPersistence(firestore) 永続ストレージを消去します。これには、保留中の書き込みやキャッシュに保存されたドキュメントが含まれます。Firestore インスタンスが起動していないとき(アプリが終了した後、またはアプリが最初に初期化されるとき)に呼び出される必要があります。起動時に、この関数を他の関数(InitializeFirestore() または getFirestore() 以外)の前に呼び出す必要があります。Firestore インスタンスがまだ実行中の場合、Promise はエラーコード failed-precondition で拒否されます。注: clearIndexedDbPersistence() の主な用途は、Cloud Firestore を使用する信頼性の高いテストを作成することです。既存のデータを削除するための効率的なメカニズムを使用しますが、キャッシュ データを安全に上書きしたり、キャッシュされたデータを復元不能にしたりすることはありません。ユーザー セッション間でのキャッシュ データの開示の影響を受けやすいアプリケーションの場合は、永続性をまったく有効にしないことを強くおすすめします。
collection(firestore, path, pathSegments) 指定された絶対パスにあるコレクションを参照する CollectionReference インスタンスを取得します。
collectionGroup(firestore, collectionId) 指定された collectionId のコレクションまたはサブコレクションに含まれるデータベース内のすべてのドキュメントを含む、新しい Query インスタンスを作成して返します。
connectFirestoreEmulator(ファイアストア、ホスト、ポート、オプション) このインスタンスを変更して、Cloud Firestore エミュレータと通信します。注: このインスタンスをオペレーションの実行に使用する前に、このインスタンスを呼び出す必要があります。
disableNetwork(firestore) このインスタンスのネットワーク使用を無効にします。enableNetwork() を介して再度有効にできます。ネットワークが無効になっている場合、スナップショット リスナー、getDoc() または getDocs() の呼び出しはキャッシュから結果を返します。書き込みオペレーションは、ネットワークが復元されるまでキューに追加されます。
doc(firestore, path, pathSegments) 指定された絶対パスのドキュメントを参照する DocumentReference インスタンスを取得します。
enableIndexedDbPersistence(firestore, persistenceSettings) 可能であれば、永続ストレージの有効化を試みます。失敗すると、enableIndexedDbPersistence() は Promise を拒否するか、例外をスローします。これが失敗する理由はいくつかあり、エラーの code で特定できます。* failed-precondition: アプリはすでに別のブラウザタブで開かれています。* 未実装: ブラウザはオフラインの永続性の実装に対応していません。障害が発生しても Firestore インスタンスは引き続き使用できますが、オフラインの永続性は無効になります。注: enableIndexedDbPersistence() は他の関数(初期化 Firestore()getFirestore()clearIndexedDbPersistence() 以外)の前に呼び出す必要がありますNode.js 環境では永続性を使用できません。
enableMultiTabIndexedDbPersistence(firestore) 可能であれば、マルチタブの永続ストレージの有効化を試みます。すべてのタブで有効にすると、すべてのオペレーションでローカル永続性へのアクセスが共有されます。これには、接続されているすべてのインスタンスにわたるクエリの共有実行やレイテンシ補正されたローカル ドキュメントの更新が含まれます。失敗した場合、enableMultiTabIndexedDbPersistence() は Promise を拒否するか、例外をスローします。これが失敗する理由はいくつかあり、エラーの code で特定できます。* failed-precondition: アプリはすでに別のブラウザタブで開いており、マルチタブが有効になっていません。* 未実装: ブラウザはオフラインの永続性の実装に対応していません。障害が発生しても Firestore インスタンスは引き続き使用できますが、オフラインの永続性は無効になります。
enableNetwork(firestore) 前回の disableNetwork() の呼び出しの後に、この Firestore インスタンスのネットワークの使用を再度有効にします。
getPersistentCacheIndexManager(firestore) 指定された Firestore オブジェクトで使用される PersistentCache インデックス マネージャーを返します。PersistentCacheIndexManager インスタンス。ローカル永続ストレージが使用されていない場合は null
loadBundle(firestore, bundleData) Firestore バンドルをローカル キャッシュに読み込みます。
namedQuery(firestore, name) 指定された名前で識別されるローカル キャッシュから Firestore クエリを読み取ります。指定されたクエリは、結果のドキュメントとともにサーバー側でバンドルにパッケージ化され、loadBundle を使用してローカル キャッシュに読み込まれます。ローカル キャッシュに格納されたら、このメソッドを使用して名前で Query を抽出します。
onSnapshotsInSync(firestore, observr) スナップショットの同期イベントのリスナーをアタッチします。サーバーで生成された 1 つの変更が複数のリスナーに影響する場合でも、snapshot-in-sync イベントは、特定の変更の影響を受けるすべてのリスナーが起動したことを示します。注: snapshot-in-sync イベントは、リスナーが互いに同期していることを示すだけで、それらのスナップショットがサーバーと同期しているかどうかには関係ない。個々のリスナーで SnapshotMetadata を使用して、スナップショットがキャッシュとサーバーのどちらから取得されたものかを判別します。
onSnapshotsInSync(firestore, onSync) スナップショットの同期イベントのリスナーをアタッチします。サーバーで生成された 1 つの変更が複数のリスナーに影響する場合でも、snapshot-in-sync イベントは、特定の変更の影響を受けるすべてのリスナーが起動したことを示します。注: snapshot-in-sync イベントは、リスナーが互いに同期していることを示すだけで、それらのスナップショットがサーバーと同期しているかどうかには関係ない。個々のリスナーで SnapshotMetadata を使用して、スナップショットがキャッシュとサーバーのどちらから取得されたかを判別します。
runTransaction(firestore, updateFunction, options) 指定された updateFunction を実行し、トランザクション内で適用された変更を commit しようとします。トランザクション内で読み取られたドキュメントが変更されると、Cloud Firestore は updateFunction を再試行します。5 回試行しても commit に失敗した場合、トランザクションは失敗します。1 つのトランザクションで許可される最大書き込み回数は 500 回です。
setIndexConfiguration(firestore, configuration) (ベータ版) ローカルクエリの実行用のインデックスを構成します。以前のインデックス構成はすべてオーバーライドされます。インデックス構成が保持されると、Promise が解決されます。インデックス エントリ自体は非同期で作成されます。インデックスがまだ利用できない場合でも、インデックスを必要とするクエリを引き続き使用できます。インデックス エントリが書き込まれると、クエリの実行は自動的にそのインデックスの使用を開始します。インデックスは IndexedDb の永続性でのみサポートされます。IndexedDb が有効になっていない場合、インデックス構成は無視されます。
setIndexConfiguration(firestore, json) (ベータ版) ローカルクエリの実行用のインデックスを構成します。以前のインデックス構成はすべてオーバーライドされます。インデックス構成が保持されると、Promise が解決されます。インデックス エントリ自体は非同期で作成されます。インデックスがまだ利用できない場合でも、インデックスを必要とするクエリを引き続き使用できます。インデックス エントリが書き込まれると、クエリの実行は自動的にそのインデックスの使用を開始します。インデックスは IndexedDb の永続性でのみサポートされます。インデックス構成を設定する前に、enableIndexedDbPersistence() または enableMultiTabIndexedDbPersistence() を呼び出します。IndexedDb が有効になっていない場合、インデックス構成は無視されます。このメソッドは、Firebase CLI(firebase firestore:indexes)でエクスポートされた JSON 形式を受け入れます。JSON 形式が無効な場合、このメソッドはエラーをスローします。
terminate(firestore) 指定された Firestore インスタンスを終了します。terminate() を呼び出した後は、clearIndexedDbPersistence() 関数のみを使用できます。その他の関数は FirestoreError をスローします。終了後に再起動するには、getFirestore() を使用して FirebaseFirestore の新しいインスタンスを作成します停止しても保留中の書き込みはキャンセルされず、サーバーからのレスポンスを待っている Promise は解決されません。永続性を有効にしている場合、このインスタンスを次回起動したときに、これらの書き込みのサーバーへの送信が再開されます。注: 通常の状況では、terminate() を呼び出す必要はありません。この関数は、このインスタンスにすべてのリソースを解放させる場合や、clearIndexedDbPersistence() と組み合わせて、テスト実行間ですべてのローカル状態が破棄されるようにする場合にだけ便利です。
waitForPendingWrites(firestore) アクティブ ユーザーの現在保留中の書き込みがすべてバックエンドによって承認されるまで待機します。未処理の書き込みがない場合、返された Promise は直ちに解決されます。それ以外の場合、Promise は以前に発行されたすべての書き込み(前のアプリ セッションで書き込まれた書き込みを含む)を待機しますが、関数が呼び出された後に追加された書き込みは待機しません。追加の書き込みを待つ場合は、waitForPendingWrites() を再度呼び出します。未処理の waitForPendingWrites() Promise は、ユーザーの変更中は拒否されます。
writeBatch(firestore) 複数の書き込みを単一のアトミック オペレーションとして実行するために使用する書き込みバッチを作成します。1 つの WriteBatch で許可される書き込みの最大数は 500 です。トランザクションとは異なり、書き込みバッチはオフラインで保持されるため、読み取りデータに対する書き込みの条件が不要な場合に適しています。
function()
count() クエリの結果セットに含まれるドキュメント数の計算に使用できる AggregateField オブジェクトを作成します。
deleteField() updateDoc() または setDoc(){merge: true} を指定してフィールドを削除するマークを付け、使用するセンチネルを返します。
documentId() ドキュメントの ID を参照する特別な標識 FieldPath を返します。クエリでドキュメント ID による並べ替えやフィルタリングに使用できます。
getFirestore() デフォルトの FirebaseApp に関連付けられている既存のデフォルトの Firestore インスタンスを返します。インスタンスが存在しない場合は、新しいインスタンスをデフォルト設定で初期化します。
memoryEagerGarbageCollector() MemoryEagerGarbageCollector のインスタンスを作成します。特に指定しない限り、これはデフォルトのガベージ コレクタでもあります。
PersistentMultipleTabManager() PersistentMultipleTabManager のインスタンスを作成します。
serverTimestamp() サーバーで生成されたタイムスタンプを書き込まれるデータに含めるために setDoc() または updateDoc() で使用する標識を返します。
function(databaseId, ...) をご覧ください。
getFirestore(databaseId) (ベータ版)デフォルトの FirebaseApp に関連付けられている既存の名前付き Firestore インスタンスを返します。インスタンスが存在しない場合は、新しいインスタンスをデフォルト設定で初期化します。
function(elements, ...)
arrayRemove(elements) setDoc() で使用できるか、サーバーにすでに存在するすべての配列値から指定された要素を削除するようサーバーに指示する特別な値を返します。指定した各要素のすべてのインスタンスが配列から削除されます。変更されるフィールドがまだ配列でない場合、空の配列で上書きされます。
arrayUnion(elements) setDoc() または updateDoc() で指定できる特殊な値を返します。この値は、指定された要素をサーバーにすでに存在する任意の配列値と統合するようサーバーに指示します。指定した配列にまだ存在しない各要素は、末尾に追加されます。変更されるフィールドがまだ配列でない場合、指定された要素だけを含む配列で上書きされます。
function(field, ...)
average(field) クエリの結果セットに含まれる一連のドキュメントに対して指定されたフィールドの平均値を計算するために使用できる AggregateField オブジェクトを作成します。
sum(field) クエリの結果セットのドキュメント範囲に対して指定したフィールドの合計を計算するために使用できる AggregateField オブジェクトを作成します。
function(fieldPath, ...) をご覧ください。
orderBy(fieldPath, directStr) 指定したフィールドでクエリ結果を昇順ではなく降順で並べ替える QueryOrderByConstraint を作成します。注: 指定したフィールドが含まれていないドキュメントはクエリ結果に含まれません。
where(fieldPath, opStr, value) 指定されたフィールドがドキュメントに含まれる必要があり、その値が指定されたリレーション制約を満たすように強制する QueryFieldFilterConstraint を作成します。
function(fieldValues, ...) をご覧ください。
endAt(fieldValues) クエリの順序を基準にして、指定されたフィールドで結果セットが終わるように結果セットを変更する QueryEndAtConstraint を作成します。フィールド値の順序は、クエリの order by 句の順序と一致している必要があります。
endBefore(fieldValues) クエリの順序に応じて、結果セットが指定されたフィールドよりも前に終了するように変更する QueryEndAtConstraint を作成します。フィールド値の順序は、クエリの order by 句の順序と一致している必要があります。
startAfter(fieldValues) クエリの順序を基準にして、指定されたフィールドの後に結果セットが開始されるように結果セットを変更する QueryStartAtConstraint を作成します。フィールド値の順序は、クエリの order by 句の順序と一致している必要があります。
startAt(fieldValues) クエリの順序を基準にして、指定されたフィールドから結果セットが開始されるように結果セットを変更する QueryStartAtConstraint を作成します。フィールド値の順序は、クエリの order by 句の順序と一致している必要があります。
function(indexManager, ...) では、
deleteAllPersistentCacheIndexes(indexManager) すべての永続キャッシュ インデックスを削除します。この関数は、サポートが終了した setIndexConfiguration() によって生成されたインデックスも削除されます。
disablePersistentCacheIndexAutoCreation(indexManager) ローカルクエリの実行用の永続キャッシュ インデックスの作成を自動的に停止します。enablePersistentCacheIndexAutoCreation() を呼び出して作成したインデックスは引き続き有効です。
enablePersistentCacheIndexAutoCreation(indexManager) キャッシュ インデックスがパフォーマンスの向上に役立つと SDK が判断した場合、ローカルクエリの実行用の永続キャッシュ インデックスを SDK が自動的に作成できるようにします。この機能はデフォルトでは無効になっています。
関数(左、...)
aggregateFieldEqual(left, right) 2 つの 'AggregateField` インスタンスを比較し、等価であるかどうかをチェックします。
aggregateQuerySnapshotEqual(left, right) 2 つの AggregateQuerySnapshot インスタンスが等しいかどうかを比較します。2 つの AggregateQuerySnapshot インスタンスは「等しい」とみなされます。基になるクエリが同じ比較対象であり、同じデータを持っている場合です。
queryEqual(left, right) 指定されたクエリが同じコレクションをポイントし、同じ制約を適用している場合、true を返します。
refEqual(left, right) 指定された参照が等しい場合は true を返します。
snapshotEqual(left, right) 指定されたスナップショットが等しい場合は true を返します。
function(limit, ...) を参照してください。
limit(limit) 最初に一致するドキュメントのみを返す QueryLimitConstraint を作成します。
limitToLast(limit) 最後に一致したドキュメントのみを返す QueryLimitConstraint を作成します。limitToLast クエリには少なくとも 1 つの orderBy 句を指定する必要があります。指定しない場合、実行時に例外がスローされます。
function(logLevel, ...) を参照してください。
setLogLevel(logLevel) Cloud Firestore ログの詳細度を設定します(デバッグ、エラー、サイレント)。
function(n, ...)
インクリメント(n) setDoc() または updateDoc() で使用できる特別な値を返します。この値は、フィールドの現在の値を指定された値で増分するようにサーバーに指示します。オペランドまたは現在のフィールド値のいずれかが浮動小数点精度を使用する場合、すべての演算は IEEE 754 セマンティクスに従います。両方の値が整数の場合、JavaScript の安全な数値範囲(Number.MIN_SAFE_INTEGERNumber.MAX_SAFE_INTEGER)外の値も精度が失われる可能性があります。さらに、Firestore バックエンドで処理されると、すべての整数演算は -2^63 から 2^63-1 の間で制限されます。現在のフィールド値が number 型でない場合、またはフィールドがまだ存在しない場合、変換によってフィールドは指定された値に設定されます。
function(query, ...)
getAggregateFromServer(query, aggregateSpec) 実際にドキュメントをダウンロードせずに、指定されたクエリの結果セットのドキュメントに対して、指定された集計値を計算します。この関数を使用すると、ドキュメントの最終的な集計値のみが集計されるため、集計が効率的になります。ダウンロードされます。結果セットが大きすぎて完全にダウンロードできない(数千のドキュメント)場合に、この関数でドキュメントを集約できます。サーバーから受信した結果は、ローカルの状態を考慮せず、変更されることなく表示されます。つまり、ローカル キャッシュ内のドキュメントも、ローカルの変更がサーバーと同期されていないことも考慮されません。以前にダウンロードした結果(ある場合)は使用されません。この関数が呼び出されるたびに、サーバーへのラウンドトリップが必要になります。
getCountFromServer(query) ドキュメントを実際にダウンロードせずに、指定されたクエリの結果セットに含まれるドキュメントの数を計算します。この関数を使用するとドキュメントのカウントは効率的です。これは、ドキュメントのカウントではなく最終的なカウントのみであるため、効率的です。ダウンロードされます。この関数は、結果セットが大きすぎて完全にダウンロードできないほど(数千のドキュメント)場合に、ドキュメントをカウントできます。サーバーから受け取った結果は、ローカルの状態を考慮せず、変更されることなく表示されます。つまり、ローカル キャッシュ内のドキュメントも、ローカルの変更がサーバーと同期されていないことも考慮されません。以前にダウンロードした結果(ある場合)は使用されません。この関数が呼び出されるたびに、サーバーへのラウンドトリップが必要になります。
getDocs(query) クエリを実行し、結果を QuerySnapshot として返します。注: getDocs() は、サーバーからのデータを待って、可能な限り最新のデータを提供しようとしますが、オフラインでサーバーにアクセスできない場合は、キャッシュされたデータが返されるか、失敗する可能性があります。この動作を指定するには、getDocsFromCache() または getDocsFromServer() を呼び出します。
getDocsFromCache(query) クエリを実行し、結果をキャッシュから QuerySnapshot として返します。クエリに一致するドキュメントが現在キャッシュに保存されていない場合は、空の結果セットを返します。
getDocsFromServer(query) クエリを実行し、サーバーから QuerySnapshot として結果を返します。ネットワークが利用できない場合はエラーを返します。
onSnapshot(query, observer) QuerySnapshot イベントのリスナーをアタッチします。onNext コールバックと onError コールバックを個別に渡すか、next コールバックと error コールバックで 1 つのオブザーバー オブジェクトを渡すことができます。onSnapshot が呼び出されたときに返される関数を呼び出すことで、リスナーをキャンセルできます。注: onCompletion コールバックを提供することはできますが、スナップショット ストリームに終わりがないため、呼び出されることはありません。
onSnapshot(クエリ, オプション, オブザーバー) QuerySnapshot イベントのリスナーをアタッチします。onNext コールバックと onError コールバックを個別に渡すか、next コールバックと error コールバックで 1 つのオブザーバー オブジェクトを渡すことができます。onSnapshot が呼び出されたときに返される関数を呼び出すことで、リスナーをキャンセルできます。注: onCompletion コールバックを提供することはできますが、スナップショット ストリームに終わりがないため、呼び出されることはありません。
onSnapshot(query, onNext, onError, oncompletion) QuerySnapshot イベントのリスナーをアタッチします。onNext コールバックと onError コールバックを個別に渡すか、next コールバックと error コールバックで 1 つのオブザーバー オブジェクトを渡すことができます。onSnapshot が呼び出されたときに返される関数を呼び出すことで、リスナーをキャンセルできます。注: onCompletion コールバックを提供することはできますが、スナップショット ストリームに終わりがないため、呼び出されることはありません。
onSnapshot(query, options, onNext, onError, oncompletion) QuerySnapshot イベントのリスナーをアタッチします。onNext コールバックと onError コールバックを個別に渡すか、next コールバックと error コールバックで 1 つのオブザーバー オブジェクトを渡すことができます。onSnapshot が呼び出されたときに返される関数を呼び出すことで、リスナーをキャンセルできます。注: onCompletion コールバックを提供することはできますが、スナップショット ストリームに終わりがないため、呼び出されることはありません。
query(query, compositeFilter, queryConstraints) 追加のクエリ制約も含むように拡張された Query の新しい不変インスタンスを作成します。
query(query, queryConstraints) 追加のクエリ制約も含むように拡張された Query の新しい不変インスタンスを作成します。
function(queryConstraints, ...)
and(queryConstraints) 指定されたフィルタ制約の結合である新しい QueryCompositeFilterConstraint を作成します。結合フィルタには、指定されたフィルタをすべて満たすドキュメントが含まれます。
or(queryConstraints) 指定されたフィルタ制約の分離である新しい QueryCompositeFilterConstraint を作成します。分離フィルタには、指定されたフィルタのいずれかを満たすドキュメントが含まれます。
function(reference, ...)
addDoc(reference, data) 指定されたデータを含む新しいドキュメントを、指定された CollectionReference に追加し、ドキュメント ID を自動的に割り当てます。
collection(reference, path, pathSegments) 指定された相対パスで reference のサブコレクションを参照する CollectionReference インスタンスを取得します。
collection(reference, path, pathSegments) 指定された相対パスで reference のサブコレクションを参照する CollectionReference インスタンスを取得します。
deleteDoc(リファレンス) 指定された DocumentReference によって参照されるドキュメントを削除します。
doc(参照, パス, パスセグメント) 指定された相対パスで reference 内のドキュメントを参照する DocumentReference インスタンスを取得します。パスが指定されていない場合は、自動的に生成された一意の ID が、返される DocumentReference に使用されます。
doc(参照, パス, パスセグメント) 指定された相対パスで reference 内のドキュメントを参照する DocumentReference インスタンスを取得します。
getDoc(参照) この DocumentReference で参照されているドキュメントを読み取ります。注: getDoc() は、サーバーからのデータを待って、可能な限り最新のデータを提供しようとしますが、キャッシュ データが返されるか、オフラインでサーバーにアクセスできない場合は失敗する可能性があります。この動作を指定するには、getDocFromCache() または getDocFromServer() を呼び出します。
getDocFromCache(参照) この DocumentReference が参照するドキュメントをキャッシュから読み取ります。ドキュメントが現在キャッシュされていない場合、エラーを返します。
getDocFromServer(リファレンス) この DocumentReference が参照するドキュメントをサーバーから読み取ります。ネットワークが利用できない場合はエラーを返します。
onSnapshot(参照, オブザーバー) DocumentSnapshot イベントのリスナーをアタッチします。onNext コールバックと onError コールバックを個別に渡すか、next コールバックと error コールバックで 1 つのオブザーバー オブジェクトを渡します。注: onCompletion コールバックは指定できますが、スナップショット ストリームに終わりがないため、呼び出されることはありません。
onSnapshot(参照, オプション, オブザーバー) DocumentSnapshot イベントのリスナーをアタッチします。onNext コールバックと onError コールバックを個別に渡すか、next コールバックと error コールバックで 1 つのオブザーバー オブジェクトを渡します。注: onCompletion コールバックは指定できますが、スナップショット ストリームに終わりがないため、呼び出されることはありません。
onSnapshot(reference, onNext, onError, oncompletion) DocumentSnapshot イベントのリスナーをアタッチします。onNext コールバックと onError コールバックを個別に渡すか、next コールバックと error コールバックで 1 つのオブザーバー オブジェクトを渡します。注: onCompletion コールバックは指定できますが、スナップショット ストリームに終わりがないため、呼び出されることはありません。
onSnapshot(参照, オプション, onNext, onError, oncompletion) DocumentSnapshot イベントのリスナーをアタッチします。onNext コールバックと onError コールバックを個別に渡すか、next コールバックと error コールバックで 1 つのオブザーバー オブジェクトを渡します。注: onCompletion コールバックは指定できますが、スナップショット ストリームに終わりがないため、呼び出されることはありません。
setDoc(reference, data) この DocumentReference によって参照されるドキュメントに書き込みます。ドキュメントがまだ存在しない場合は作成されます。
setDoc(reference, data, options) 指定された DocumentReference によって参照されるドキュメントに書き込みます。ドキュメントがまだ存在しない場合は作成されます。merge または mergeFields を指定すると、提供されたデータを既存のドキュメントに統合できます。
updateDoc(reference, data) 指定された DocumentReference によって参照されるドキュメント内のフィールドを更新します。存在しないドキュメントに適用すると、更新は失敗します。
updateDoc(reference, field, value, moreFieldsAndValues) 指定された DocumentReference で参照されるドキュメント内のフィールドを更新します。存在しないドキュメントに適用すると、更新は失敗します。ネストされたフィールドを更新するには、ドット区切りのフィールド パス文字列を指定するか、FieldPath オブジェクトを指定します。
function(settings, ...)
memoryLocalCache(settings) MemoryLocalCache のインスタンスを作成します。インスタンスを FirestoreSettings.cache に設定すると、使用するキャッシュ レイヤを SDK に指示できます。
memoryLruGarbageCollector(settings) MemoryLruGarbageCollector のインスタンスを作成します。ターゲット サイズは、設定パラメータの一部として指定できます。キャッシュ サイズが指定されたサイズを超えると、コレクタによってドキュメントの削除が開始されます。デフォルトのキャッシュ サイズは 40 MB(40 * 1,024 * 1,024 バイト)です。
PersistentLocalCache(settings) PersistentLocalCache のインスタンスを作成します。このインスタンスを FirestoreSettings.cache に設定すると、使用するキャッシュ レイヤを SDK に指示できます。永続キャッシュは Node.js 環境では使用できません。
PersistentSingleTabManager(settings) PersistentSingleTabManager のインスタンスを作成します。
function(snapshot, ...)
endAt(snapshot) 指定されたドキュメント(両端を含む)で終了するように結果セットを変更する QueryEndAtConstraint を作成します。終了位置は、クエリの順序に相対的です。ドキュメントには、クエリの orderBy で指定されたすべてのフィールドが含まれている必要があります。
endBefore(スナップショット) 指定したドキュメント(排他的)の前に終了するように結果セットを変更する QueryEndAtConstraint を作成します。終了位置は、クエリの順序に相対的です。ドキュメントには、クエリの orderBy で指定されたすべてのフィールドが含まれている必要があります。
startAfter(snapshot) 指定したドキュメント(含まない)の後に開始するよう結果セットを変更する QueryStartAtConstraint を作成します。開始位置は、クエリの順序に相対的です。ドキュメントには、クエリの orderBy で指定されたすべてのフィールドが含まれている必要があります。
startAt(snapshot) 指定されたドキュメント(両端を含む)から開始するように結果セットを変更する QueryStartAtConstraint を作成します。開始位置は、クエリの順序に相対的です。ドキュメントには、このクエリの orderBy で指定されたすべてのフィールドが含まれている必要があります。

クラス

クラス 説明
AggregateField Firestore が実行できる集計を表します。
AggregateQuerySnapshot 集計クエリの実行結果。
バイト バイト配列を表す不変オブジェクト。
CollectionReference CollectionReference オブジェクトは、ドキュメントの追加、ドキュメント参照の取得、ドキュメントのクエリ(query() を使用)に使用できます。
DocumentReference DocumentReference は Firestore データベース内のドキュメントの場所を参照し、場所の書き込み、読み取り、リッスンに使用できます。参照先の場所にドキュメントが存在する場合と存在しない場合があります。
DocumentSnapshot DocumentSnapshot には、Firestore データベースのドキュメントから読み取られたデータが含まれます。特定のフィールドを取得するには、.data() または .get(<field>) を使用してデータを抽出できます。存在しないドキュメントを指す DocumentSnapshot の場合、どのデータアクセスに対しても「未定義」が返されます。exists() メソッドを使用して、ドキュメントの存在を明示的に確認できます。
FieldPath FieldPath はドキュメント内のフィールドを参照します。パスは、単一のフィールド名(ドキュメント内の最上位フィールドを参照)で構成することも、フィールド名のリスト(ドキュメント内のネストされたフィールドを参照)で構成することもできます。フィールド名を指定して FieldPath を作成します。複数のフィールド名が指定されている場合、パスはドキュメント内のネストされたフィールドを指します。
フィールド値 set() または update() でドキュメント フィールドを記述するときに使用できる Sentinel 値。
Firestore Cloud Firestore サービス インターフェース。このコンストラクタを直接呼び出さないでください。代わりに getFirestore() を使用してください。
FirestoreError Firestore オペレーションによって返されるエラー。
GeoPoint Firestore の地理的位置を表す不変オブジェクト。位置は緯度と経度のペアで表されます。緯度の値は [-90, 90] の範囲です。経度の値は [-180, 180] の範囲内です。
LoadBundleTask Firestore バンドルを読み込むタスクを表します。バンドルの読み込みの進行状況、タスクの完了、エラーイベントを提供します。この API は Promise<LoadBundleTaskProgress> と互換性があります。
PersistentCacheIndexManager PersistentCacheIndexManager。ローカルクエリの実行に使用する永続キャッシュ インデックスを構成します。使用するには、getPersistentCacheIndexManager() を呼び出してインスタンスを取得します。
クエリ Query は、読み取りやリッスンが可能なクエリを指します。フィルタと順序を追加して、絞り込んだ Query オブジェクトを作成することもできます。
QueryCompositeFilterConstraint QueryCompositeFilterConstraint は、複数の QueryFieldFilterConstraint または QueryCompositeFilterConstraint の論理 OR または AND を実行して、Firestore クエリから返されるドキュメントのセットを絞り込むために使用されます。QueryCompositeFilterConstraint は、or() または and() を呼び出して作成され、その後 query() に渡して、QueryCompositeFilterConstraint を含む新しいクエリ インスタンスを作成できます。
QueryConstraint QueryConstraint は、Firestore クエリによって返されるドキュメントのセットを絞り込むために使用します。QueryConstraint は、where()orderBy()startAt()startAfter()endBefore()endAt()limit()limitToLast() に渡し、この QueryConstraintquery() も作成します。
QueryDocumentSnapshot QueryDocumentSnapshot には、クエリの一部として Firestore データベース内のドキュメントから読み取られたデータが含まれます。ドキュメントは存在することが保証されており、そのデータを .data() または .get(<field>) で抽出して特定のフィールドを取得できます。QueryDocumentSnapshotDocumentSnapshot と同じ API サーフェスを提供します。クエリ結果には既存のドキュメントのみが含まれるため、exists プロパティは常に true になり、data() が「未定義」を返すことはありません。
QueryEndAtConstraint QueryEndAtConstraint は、Firestore クエリによって返された結果セットからドキュメントを除外するために使用されます。QueryEndAtConstraint は、endAt() または endBefore() を呼び出して作成されます。これを query() に渡して、この QueryEndAtConstraint を含む新しいクエリ インスタンスを作成できます。
QueryFieldFilterConstraint QueryFieldFilterConstraint は、1 つ以上のドキュメント フィールドをフィルタして、Firestore クエリから返されるドキュメントのセットを絞り込むために使用します。QueryFieldFilterConstraint は、where() を呼び出すことで作成されます。次に、query() に渡して、この QueryFieldFilterConstraint を含む新しいクエリ インスタンスを作成できます。
QueryLimitConstraint QueryLimitConstraint は、Firestore クエリによって返されるドキュメントの数を制限するために使用されます。QueryLimitConstraint は、limit() または limitToLast() を呼び出すことで作成されます。その後、query() に渡して、この QueryLimitConstraint を含む新しいクエリ インスタンスを作成できます。
QueryOrderByConstraint QueryOrderByConstraint は、Firestore クエリによって返された一連のドキュメントを並べ替えるために使用します。QueryOrderByConstraint は、orderBy() を呼び出して作成され、その後 query() に渡して、この QueryOrderByConstraint を含む新しいクエリ インスタンスを作成できます。注: orderBy フィールドを含まないドキュメントはクエリ結果に表示されません。
QuerySnapshot QuerySnapshot には、クエリの結果を表す 0 個以上の DocumentSnapshot オブジェクトが含まれます。ドキュメントには、docs プロパティを介して配列としてアクセスすることも、forEach メソッドを使用して列挙することもできます。ドキュメントの数は、empty プロパティと size プロパティで確認できます。
QueryStartAtConstraint QueryStartAtConstraint は、Firestore クエリによって返される結果セットの先頭からドキュメントを除外するために使用されます。QueryStartAtConstraint は、startAt() または startAfter() を呼び出すことで作成されます。これを query() に渡して、この QueryStartAtConstraint を含む新しいクエリ インスタンスを作成できます。
SnapshotMetadata スナップショットに関するメタデータ。スナップショットの状態を記述する。
タイムスタンプ Timestamp は、タイムゾーンやカレンダーに依存しない特定の時点を表し、UTC エポック時間のナノ秒単位の分解能で秒と小数点以下で表されます。これは、グレゴリオ暦を 1 年目まで遡る先発グレゴリオ暦を使用してエンコードされます。このエンコーディングでは、すべての分の長さが 60 秒であると仮定されています。つまり、うるう秒を無視することで、解釈にうるう秒テーブルが不要となっています。範囲は 0001-01-01T00:00:00Z ~ 9999-12-31T23:59:59.999999999Z です。例と詳細な仕様については、タイムスタンプの定義をご覧ください。
Transaction トランザクションへの参照。トランザクションの updateFunction に渡される Transaction オブジェクトは、トランザクション コンテキスト内でデータの読み書きを行うメソッドを提供します。runTransaction() をご覧ください。
WriteBatch 書き込みバッチ。単一のアトミック単位として複数の書き込みを実行するために使用します。WriteBatch オブジェクトは、writeBatch() を呼び出して取得できます。書き込みバッチに書き込みを追加するためのメソッドが用意されています。WriteBatch.commit() が呼び出されるまで、書き込みは commit(またはローカルで表示)されません。

インターフェース

インターフェース 説明
AggregateSpec 集計とそのエイリアスのセットを指定します。
DocumentChange DocumentChange は、クエリに一致するドキュメントに対する変更を表します。影響を受けるドキュメントと、発生した変更の種類が記載されます。
DocumentData ドキュメント データ(setDoc() で使用)は、値にマッピングされたフィールドで構成されます。
ExperimentalLongPollingOptions ロング ポーリングを使用する場合に、SDK の基盤となるネットワーク トランスポート(WebChannel)を構成するオプション。注: このインターフェースは「試験運用版」です。変更されることがあります。FirestoreSettings.experimentalAutoDetectLongPollingFirestoreSettings.experimentalForceLongPollingFirestoreSettings.experimentalLongPollingOptions をご覧ください。
FirestoreDataConverter withConverter()AppModelType 型のユーザー オブジェクトを DbModelType 型の Firestore データに変換するために使用するコンバータ。このコンバータを使用すると、Firestore でオブジェクトを保存および取得する際に、汎用型の引数を指定できます。このコンテキストの「AppModel」は、関連する情報や機能をまとめるためにアプリケーションで使用されるクラスです。このようなクラスには、たとえば、ネストされた複雑なデータ型を持つプロパティ、メモ化に使用するプロパティ、Firestore でサポートされていない型のプロパティ(symbolbigint など)、複合オペレーションを実行するヘルパー関数を含めることができます。このようなクラスは Firestore データベースへの保存には適していないか、保存できません。代わりに、そのようなクラスのインスタンスを「従来の JavaScript オブジェクト」に変換する必要があります。(POJO)このコンテキストでは、この型を「DbModel」と呼びます。Firestore での永続化に適したオブジェクトです利便性を考慮して、アプリケーションで FirestoreDataConverter を実装し、コンバータを DocumentReferenceQuery などの Firestore オブジェクトに登録することで、Firestore に保存する場合は AppModel を自動的に DbModel に変換し、Firestore から取得する場合は DbModelAppModel に変換できます。
FirestoreSettings Cloud Firestore インスタンスのカスタム構成を指定します。これらの変数は、他のメソッドを呼び出す前に設定する必要があります。
Index (ベータ版) Firestore インデックスの SDK 定義。
IndexConfiguration (ベータ版)ローカルクエリの実行を高速化するための Firestore インデックスのリスト。インデックス定義の形式については、JSON 形式をご覧ください。
IndexField (ベータ版)インデックス構成内の単一のフィールド要素。
LoadBundleTaskProgress バンドルの読み込みの進行状況の更新または最終状態を表します。
MemoryCacheSettings(メモリ キャッシュ設定) MemoryLocalCache インスタンスを構成するための設定オブジェクト。
MemoryEagerGarbageCollector ガベージ コレクタは、ドキュメントがアクティブなクエリの一部ではなく、ローカル ミューテーションがアタッチされていないときは常に、ドキュメントを削除します。このコレクタは、オフライン クエリまたはキャッシュへの直接クエリでドキュメントがキャッシュに保存されないリスクを負ったうえで、SDK のメモリ使用量を最小限に抑えるよう試みます。このコレクタのインスタンスを作成するには、ファクトリ関数を使用します。
MemoryLocalCache SDK にメモリ内キャッシュを提供します。特に明示的に構成しない限り、これはデフォルトのキャッシュです。使用するには、Factory 関数を使用してインスタンスを作成してから、インスタンスを FirestoreSettings.cache に設定し、設定オブジェクトを使用して initializeFirestore を呼び出します。
MemoryLruGarbageCollector ガベージ コレクタは、最も使用頻度の低いドキュメントを複数のバッチで削除します。このコレクタはターゲット サイズで構成されており、キャッシュに保存されたドキュメントがターゲット サイズを超えた場合にのみ収集を実行します。メモリ使用量が大きくなるリスクがあっても、同じクエリまたはドキュメントに対してバックエンドに対して繰り返しクエリを実行することが回避されます。ファクトリ関数を使用して、このコレクタのインスタンスを作成します。
PersistenceSettings Firestore の永続性を構成するために enableIndexedDbPersistence() に渡すことができる設定。Node.js 環境では永続性を使用できません。
PersistentCacheSettings PersistentLocalCache インスタンスを構成するための設定オブジェクト。永続キャッシュは Node.js 環境では使用できません。
PersistentLocalCache IndexedDb に基づく永続キャッシュを SDK に提供します。使用するには、ファクトリ関数を使用してインスタンスを作成してから、そのインスタンスを FirestoreSettings.cache に設定し、設定オブジェクトを使用して initializeFirestore を呼び出します。
PersistentMultipleTabManager 複数のタブをサポートするタブ マネージャー。SDK を使用して、すべてのタブで行われたクエリとミューテーションが同期されます。
PersistentSingleTabManager 1 つのタブのみをサポートするタブ マネージャーで、タブ間での同期は行われません。
PersistentSingleTabManagerSettings これを入力して PersistentSingleTabManager インスタンスを構成します。
SnapshotListenOptions 結果セットに含める変更の種類を制御するために、onSnapshot()QuerySnapshot.docChanges() に渡すオプション オブジェクト。
SnapshotOptions DocumentSnapshot からデータを取得する方法を構成するオプション(最終的な値にまだ設定されていないサーバー タイムスタンプに必要な動作など)。
TransactionOptions トランザクションの動作をカスタマイズするためのオプション。
配信停止 onSnapshot() によって返される、呼び出されたときにリスナーを削除する関数。

変数

変数 説明
CACHE_SIZE_UNLIMITED LRU ガベージ コレクションを無効にする必要があることを示すために使用される定数。この値は、Firestore インスタンスに渡される設定の cacheSizeBytes として設定します。

型エイリアス

型エイリアス 説明
AddPrefixToKeys すべてのキーの先頭に、ドットに付加された外側のキーが付いた新しいマップを返します。
AggregateFieldType Firestore でサポートされているすべての AggregateField 型の結合。
AggregateSpecData キーが AggregateSpec から取得され、その値は入力 AggregateSpec からの対応する AggregateField によって実行された集計の結果である型。
集計タイプ 実行する集計型を表す共用体型。
ChildUpdateFields(子の更新フィールド) 指定された型 T1 のネストされたフィールドを計算するためのヘルパー。これは、undefined | {...}(オプションの prop で発生します)や {a: A} | {b: B} などの共用体型を配布するために必要です。このユースケースでは、T[K] は分散ではなく式として評価されるため、VRecordT[K] の共用体型を配布するために使用されます。https://www.typescriptlang.org/docs/handbook/advanced-types.html#distributive-conditional-types.html#distributive-conditional-types.
DocumentChangeType DocumentChange のタイプは、「追加」、「削除」、「変更」のいずれかです。
FirestoreErrorCode Firestore ステータス コードのセット。コードは、gRPC によって公開されているコードと同じです(https://github.com/grpc/grpc/blob/master/doc/statuscodes.md)。有効な値: - 'cancelled': オペレーションはキャンセルされました(通常は呼び出し元によって)。- 'unknown': 不明なエラーまたは別のエラードメインからのエラーです。- 'invalid-argument': クライアントが無効な引数を指定しました。これは「failed-precondition」とは異なることに注意してください。「無効な引数」は、システムの状態に関係なく問題がある引数を示します(無効なフィールド名など)。- 'deadline-exceeded': 操作が完了する前に期限が切れました。システムの状態を変更するオペレーションの場合、オペレーションが正常に終了しても、このエラーが返されることがあります。たとえば、サーバーからの正常なレスポンスが、期限切れになるほど遅延していた可能性があります。- 'not-found': リクエストされたドキュメントは見つかりませんでした。- 'Already-exists': 作成しようとしたドキュメントがすでに存在します。- 'permission-denied': 呼び出し元には、指定された操作を実行する権限がありません。- 'resource-exhausted': 一部のリソースが不足しています。ユーザーごとの割り当て、またはファイル システム全体で容量が不足している可能性があります。- 'failed-precondition': システムがオペレーションの実行に必要な状態ではないため、オペレーションが拒否されました。- 'aborted': オペレーションは中止されました。通常は、トランザクションの中止などの同時実行の問題が原因です。- 'out-of-range': オペレーションが有効な範囲を超えて試行されました。- 'unImplemented': オペレーションが実装されていないか、サポートまたは有効化されていません。- 'internal': 内部エラーです。基になるシステムで予期される一部の不変条件が破損していることを意味します。これらのエラーのいずれかが表示される場合、何かが著しく壊れています。- 「unavailable」: サービスは現在利用できません。これは一時的な状態である可能性が高く、バックオフで再試行することで修正できます。- 'data-loss': 回復不能なデータの損失または破損。- 'unauthenticated': リクエストに、操作のための有効な認証情報がありません。
FirestoreLocalCache サポートされているすべての SDK キャッシュ レイヤの共用体タイプ。
ListenSource クエリがリッスンするソースを記述します。キャッシュとサーバーの両方の変更をリッスンするには、default に設定します。キャッシュ内の変更のみをリッスンするには、cache に設定します。
MemoryGarbageCollector メモリ ローカル キャッシュのガベージ コレクタをサポートするすべての統合タイプ。
NestedUpdateFields 各フィールド(「bar」など)で、ネストされたキーをすべて検索します(例: {'bar.baz': T1, 'bar.qux': T2})。それらのキーを組み合わせて 1 つのマップを作成します。このマップには、オプションとして指定されているキーをすべて含めます。
OrderByDirection orderBy() 句の方向は「desc」として指定されます。または「asc」(降順または昇順)。
PartialWithFieldValue TypeScript の Partial<T> に似ていますが、ネストされたフィールドを省略し、FieldValues をプロパティ値として渡すことができます。
PersistentTabManager 利用可能なすべてのタブ マネージャーをまとめたものです。
プリミティブ プリミティブ型。
QueryConstraintType この SDK で使用できるさまざまなクエリ制約について説明します。
QueryFilterConstraint QueryFilterConstraint は、QueryFieldFilterConstraintQueryCompositeFilterConstraint を表すヘルパー ユニオン型です。
QueryNonFilterConstraint QueryNonFilterConstraint は、QueryConstraints を表すヘルパー ユニオン型です。これは、ドキュメント セットの絞り込みまたは並べ替えに使用されますが、ドキュメント フィールドで明示的にフィルタリングすることはありません。QueryNonFilterConstraint は、orderBy()startAt()startAfter()endBefore()endAt()limit()、または limitToLast() を呼び出して、query() を含む新しいクエリ インスタンスを作成することで作成されます。QueryConstraint
SetOptions setDoc() の動作を設定して呼び出すオプション オブジェクト。これらの呼び出しは、SetOptionsmerge: true を指定することで、ターゲット ドキュメント全体を上書きするのではなく、詳細なマージを実行するように構成できます。
TaskState バンドル読み込みタスクの状態を表します。どちらも「Error」および「Success」シンク状態: タスクは中止または完了し、報告後は更新がそれ以上行われなくなります。
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-union-type-to-intersection-type
UpdateData 値にマッピングされたフィールドパス(「foo」や「foo.baz」など)で構成されるデータを更新します(updateDoc() で使用)。ドットを含むフィールドは、ドキュメント内のネストされたフィールドを参照します。FieldValues はプロパティ値として渡すことができます。
WhereFilterOp where() 句のフィルタ条件は、文字列「&lt;」、「&lt;='、==」、「!='」、「&gt;='」、「&gt;」、「array-contains」、「in」、「array-contains-any」、「not-in」を使用して指定します。
WithFieldValue 型の安全性を維持しながら FieldValues をプロパティ値として渡すことができます。

関数(アプリ、...)

getFirestore(アプリ)

指定された FirebaseApp に関連付けられている既存のデフォルトの Firestore インスタンスを返します。インスタンスが存在しない場合は、新しいインスタンスをデフォルト設定で初期化します。

署名:

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

パラメータ

パラメータ 説明
アプリ FirebaseApp 返された Firestore インスタンスが関連付けられている FirebaseApp インスタンス。

戻り値:

Firestore

指定されたアプリのデフォルトの Firestore インスタンス。

getFirestore(app, databaseId)

この API はデベロッパー向けのプレビュー版として提供されており、寄せられたフィードバックに基づいて変更される可能性があります。この API は本番環境で使用しないでください。

指定された FirebaseApp に関連付けられている既存の名前付き Firestore インスタンスを返します。インスタンスが存在しない場合は、新しいインスタンスをデフォルト設定で初期化します。

署名:

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

パラメータ

パラメータ 説明
アプリ FirebaseApp 返された Firestore インスタンスが関連付けられている FirebaseApp インスタンス。
databaseId 文字列 データベースの名前。

戻り値:

Firestore

指定されたアプリの名前付きの Firestore インスタンス。

初期化 Firestore(app, settings, databaseId)

指定された設定で Firestore の新しいインスタンスを初期化します。他の関数(getFirestore() など)の前にのみ呼び出すことができます。カスタム設定が空の場合、この関数は getFirestore() の呼び出しと同じです。

署名:

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

パラメータ

パラメータ 説明
アプリ FirebaseApp Firestore インスタンスが関連付けられる FirebaseApp
設定 FirestoreSettings Firestore インスタンスを構成するための設定オブジェクト。
databaseId 文字列 データベースの名前。

戻り値:

Firestore

新たに初期化された Firestore インスタンス。

関数(firestore, ...)

ClearIndexedDbPersistence(firestore)

永続ストレージを消去します。これには、保留中の書き込みやキャッシュに保存されたドキュメントが含まれます。

Firestore インスタンスが起動していない間(アプリの終了後、またはアプリの初回初期化時)に呼び出す必要があります。起動時に、この関数を他の関数(InitializeFirestore() または getFirestore() 以外)の前に呼び出す必要があります。Firestore インスタンスがまだ実行中の場合、Promise は拒否され、エラーコード failed-precondition が返されます。

署名:

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

パラメータ

パラメータ 説明
firestore Firestore 永続性を消去する Firestore インスタンス。

戻り値:

Promise&lt;void&gt;

永続ストレージが消去されたときに解決される Promise。それ以外の場合、Promise はエラーで拒否されます。

コレクション(firestore、path、pathSegments)

指定された絶対パスにあるコレクションを参照する CollectionReference インスタンスを取得します。

署名:

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

パラメータ

パラメータ 説明
firestore Firestore ルート Firestore インスタンスへの参照。
パス 文字列 コレクションへのスラッシュ区切りパス。
pathSegments string[] 最初の引数を基準として適用する追加のパスセグメント。

戻り値:

CollectionReference<DocumentDataDocumentData>

CollectionReference インスタンス。

例外

最終的なパスのセグメント数が偶数で、コレクションを参照していない場合。

collectionGroup(firestore, collectionId)

指定された collectionId を持つコレクションまたはサブコレクションに含まれるデータベース内のすべてのドキュメントを含む、新しい Query インスタンスを作成して返します。

署名:

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

パラメータ

パラメータ 説明
firestore Firestore ルート Firestore インスタンスへの参照。
collectionId 文字列 クエリ対象のコレクションを指定します。この ID をパスの最後のセグメントとするすべてのコレクションまたはサブコレクションが含まれます。スラッシュを含めることはできません。

戻り値:

Query<DocumentData, DocumentData>

作成された Query

connectFirestoreEmulator(ファイアストア、ホスト、ポート、オプション)

このインスタンスを変更して、Cloud Firestore エミュレータと通信します。

署名:

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

パラメータ

パラメータ 説明
firestore Firestore エミュレータに接続するように構成する Firestore インスタンス。
ホスト 文字列 インストールします(例: localhost)。
ポート 数値 (例: 9000)。
オプション { mockUserToken?:EmulatorMockTokenOptions |string;}

戻り値:

void

disableNetwork(firestore)

このインスタンスのネットワーク使用を無効にします。enableNetwork() を介して再度有効にできます。ネットワークが無効になっている場合、スナップショット リスナー、getDoc() または getDocs() の呼び出しはキャッシュから結果を返します。書き込みオペレーションは、ネットワークが復元されるまでキューに追加されます。

署名:

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

パラメータ

パラメータ 説明
firestore Firestore

戻り値:

Promise&lt;void&gt;

ネットワークが無効になった後に解決される Promise

doc(firestore、path、pathSegments)

指定された絶対パスのドキュメントを参照する DocumentReference インスタンスを取得します。

署名:

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

パラメータ

パラメータ 説明
firestore Firestore ルート Firestore インスタンスへの参照。
パス 文字列 スラッシュで区切られたドキュメントへのパス。
pathSegments string[] 最初の引数を基準として適用される追加のパスセグメント。

戻り値:

DocumentReference<DocumentDataDocumentData>

DocumentReference インスタンス。

例外

最終的なパスのセグメント数が奇数で、ドキュメントを参照していない場合。

enableIndexedDbPersistence(firestore, persistenceSettings)

この関数は今後のメジャー リリースで削除される予定です。代わりに、FirestoreSettings.localCachePersistentLocalCache のインスタンスに設定して、IndexedDb キャッシュを有効にします。FirestoreSettings.localCache がすでに指定されているときにこの関数を呼び出すと、例外がスローされます。

可能であれば永続ストレージの有効化を試みます。

失敗すると、enableIndexedDbPersistence() は Promise を拒否するか、例外をスローします。これが失敗する理由はいくつかあり、エラーの code で特定できます。

* failed-precondition: アプリはすでに別のブラウザタブで開かれています。* unImplemented: ブラウザはオフラインの永続性実装と互換性がありません。

障害が発生しても Firestore インスタンスは引き続き使用できますが、オフラインの永続性は無効になります。

Node.js 環境では永続性は使用できません。

署名:

export declare function enableIndexedDbPersistence(firestore: Firestore, persistenceSettings?: PersistenceSettings): Promise<void>;

パラメータ

パラメータ 説明
firestore Firestore 永続性を有効にする Firestore インスタンス。
persistenceSettings PersistenceSettings 永続性を構成するオプションの設定オブジェクト。

戻り値:

Promise&lt;void&gt;

永続ストレージの有効化が正常に行われたことを表す Promise

enableMultiTabIndexedDbPersistence(firestore)

この関数は今後のメジャー リリースで削除される予定です。代わりに、FirestoreSettings.localCachePersistentLocalCache のインスタンスに設定して、indexeddb キャッシュを有効にします。FirestoreSettings.localCache がすでに指定されているときにこの関数を呼び出すと、例外がスローされます。

可能であれば、マルチタブの永続ストレージの有効化を試みます。すべてのタブで有効にすると、すべての操作で永続ローカル ストレージへのアクセスが共有されます。これには、接続されているすべてのインスタンス間でのクエリの実行やレイテンシ補正によるローカル ドキュメントの更新が含まれます。

失敗すると、enableMultiTabIndexedDbPersistence() は Promise を拒否するか、例外をスローします。これが失敗する理由はいくつかあり、エラーの code で特定できます。

* failed-precondition: アプリはすでに別のブラウザタブで開いており、マルチタブが有効になっていません。* unImplemented: ブラウザはオフラインの永続性実装と互換性がありません。

障害が発生しても Firestore インスタンスは引き続き使用できますが、オフラインの永続性は無効になります。

署名:

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

パラメータ

パラメータ 説明
firestore Firestore 永続性を有効にする Firestore インスタンス。

戻り値:

Promise&lt;void&gt;

永続ストレージの有効化が正常に行われたことを表す Promise

enableNetwork(firestore)

前回の disableNetwork() の呼び出しの後に、この Firestore インスタンスのネットワークの使用を再度有効にします。

署名:

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

パラメータ

パラメータ 説明
firestore Firestore

戻り値:

Promise&lt;void&gt;

ネットワークが有効になると解決される Promise

getPersistentCacheIndexManager(firestore)

指定された Firestore オブジェクトで使用される PersistentCache インデックス マネージャーを返します。

PersistentCacheIndexManager インスタンス。ローカル永続ストレージが使用されていない場合は null

署名:

export declare function getPersistentCacheIndexManager(firestore: Firestore): PersistentCacheIndexManager | null;

パラメータ

パラメータ 説明
firestore Firestore

戻り値:

PersistentCacheIndexManager |null

loadBundle(firestore, bundleData)

Firestore バンドルをローカル キャッシュに読み込みます。

署名:

export declare function loadBundle(firestore: Firestore, bundleData: ReadableStream<Uint8Array> | ArrayBuffer | string): LoadBundleTask;

パラメータ

パラメータ 説明
firestore Firestore バンドルを読み込む Firestore インスタンス。
bundleData ReadableStream<Uint8Array>|ArrayBuffer |文字列 読み込まれるバンドルを表すオブジェクト。有効なオブジェクトは ArrayBufferReadableStream<Uint8Array>string です。

戻り値:

LoadBundleTask

LoadBundleTask オブジェクト。呼び出し元に進行状況の更新、完了イベント、エラーイベントを通知します。Promise<LoadBundleTaskProgress> として使用できます。

nameQuery(firestore, name)

指定の名前で識別されるローカル キャッシュから Firestore クエリを読み取ります。

名前付きクエリは、結果のドキュメントとともにサーバー側でバンドルにパッケージ化され、loadBundle を使用してローカル キャッシュに読み込まれます。ローカル キャッシュに格納されたら、このメソッドを使用して名前で Query を抽出します。

署名:

export declare function namedQuery(firestore: Firestore, name: string): Promise<Query | null>;

パラメータ

パラメータ 説明
firestore Firestore クエリを読み取る Firestore インスタンス。
name 文字列 クエリの名前。

戻り値:

Promise<クエリ |null>

クエリまたは null で解決される Promise

onSnapshotsInSync(firestore, observer)

スナップショットの同期イベントのリスナーをアタッチします。snapshot-in-sync イベントは、サーバーが生成した 1 つの変更が複数のリスナーに影響を及ぼす場合でも、特定の変更の影響を受けるすべてのリスナーが起動したことを示します。

注: snapshot-in-sync イベントは、リスナーが互いに同期していることを示すだけで、それらのスナップショットがサーバーと同期しているかどうかには関係しません。個々のリスナーで SnapshotMetadata を使用して、スナップショットがキャッシュとサーバーのどちらから取得されたものかを判別します。

署名:

export declare function onSnapshotsInSync(firestore: Firestore, observer: {
    next?: (value: void) => void;
    error?: (error: FirestoreError) => void;
    complete?: () => void;
}): Unsubscribe;

パラメータ

パラメータ 説明
firestore Firestore スナップショットを同期するための Firestore のインスタンス。
observer { next?:(値: void) =>void;error?:(エラー: FirestoreError)=>void;complete?:() =>void;} next コールバックと error コールバックを含む単一のオブジェクト。

戻り値:

配信停止

スナップショット リスナーをキャンセルするために呼び出すことができる登録解除関数。

onSnapshotsInSync(firestore, onSync)

スナップショットの同期イベントのリスナーをアタッチします。snapshot-in-sync イベントは、サーバーが生成した 1 つの変更が複数のリスナーに影響を及ぼす場合でも、特定の変更の影響を受けるすべてのリスナーが起動したことを示します。

注: snapshot-in-sync イベントは、リスナーが互いに同期していることを示すだけで、それらのスナップショットがサーバーと同期しているかどうかには関係しません。個々のリスナーで SnapshotMetadata を使用して、スナップショットがキャッシュとサーバーのどちらから取得されたかを判別します。

署名:

export declare function onSnapshotsInSync(firestore: Firestore, onSync: () => void): Unsubscribe;

パラメータ

パラメータ 説明
firestore Firestore スナップショットを同期するための Firestore インスタンス。
onSync () =>無効 すべてのスナップショット リスナーが互いに同期するたびに呼び出されるコールバック。

戻り値:

配信停止

スナップショット リスナーをキャンセルするために呼び出すことができる登録解除関数。

runTransaction(firestore, updateFunction, options)

指定された updateFunction を実行し、トランザクション内で適用された変更を commit しようとします。トランザクション内で読み取られたドキュメントが変更されると、Cloud Firestore は updateFunction を再試行します。5 回試行しても commit に失敗すると、トランザクションは失敗します。

1 回のトランザクションで許可される最大書き込み回数は 500 回です。

署名:

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

パラメータ

パラメータ 説明
firestore Firestore このトランザクションを実行する Firestore データベースへの参照。
updateFunction (トランザクション: Transaction)=>Promise<T> トランザクション コンテキスト内で実行する関数。
オプション TransactionOptions commit の最大試行回数を構成するオプション オブジェクト。

戻り値:

Promise<T>

トランザクションが正常に完了したか、明示的に中止された(updateFunction が失敗した Promise を返した)場合は、updateFunction によって返された Promise がここに返されます。トランザクションが失敗した場合は、拒否された Promise と対応する失敗エラーが返されます。

setIndexConfiguration(firestore, configuration)

この API はデベロッパー向けのプレビュー版として提供されており、寄せられたフィードバックに基づいて変更される可能性があります。この API は本番環境で使用しないでください。

で確認できます。

キャッシュ インデックスを手動で作成する代わりに、enablePersistentCacheIndexAutoCreation() を使用して、ローカルで実行されるクエリのキャッシュ インデックスを作成するかどうかを SDK に判断させることを検討してください。

ローカルクエリを実行するためのインデックスを構成します。以前のインデックス構成はすべてオーバーライドされます。インデックス構成が保持されると、Promise が解決されます。

インデックス エントリ自体は非同期で作成されます。インデックスがまだ利用できない場合でも、インデックスを必要とするクエリを引き続き使用できます。インデックス エントリが書き込まれると、そのインデックスを使用してクエリの実行が自動的に開始されます。

インデックスは IndexedDb の永続性でのみサポートされます。IndexedDb が有効になっていない場合、インデックス構成は無視されます。

署名:

export declare function setIndexConfiguration(firestore: Firestore, configuration: IndexConfiguration): Promise<void>;

パラメータ

パラメータ 説明
firestore Firestore インデックスを構成する Firestore インスタンス。
構成 IndexConfiguration インデックス定義。

戻り値:

Promise&lt;void&gt;

すべてのインデックスが正常に構成されると解決される Promise

例外

JSON 形式が無効な場合は FirestoreError。

setIndexConfiguration(firestore, json)

この API はデベロッパー向けのプレビュー版として提供されており、寄せられたフィードバックに基づいて変更される可能性があります。この API は本番環境で使用しないでください。

で確認できます。

キャッシュ インデックスを手動で作成する代わりに、enablePersistentCacheIndexAutoCreation() を使用して、ローカルで実行されるクエリのキャッシュ インデックスを作成するかどうかを SDK に判断させることを検討してください。

ローカルクエリを実行するためのインデックスを構成します。以前のインデックス構成はすべてオーバーライドされます。インデックス構成が保持されると、Promise が解決されます。

インデックス エントリ自体は非同期で作成されます。インデックスがまだ利用できない場合でも、インデックスを必要とするクエリを引き続き使用できます。インデックス エントリが書き込まれると、そのインデックスを使用してクエリの実行が自動的に開始されます。

インデックスは IndexedDb の永続性でのみサポートされます。インデックス構成を設定する前に、enableIndexedDbPersistence() または enableMultiTabIndexedDbPersistence() を呼び出します。IndexedDb が有効になっていない場合、インデックス構成は無視されます。

このメソッドは、Firebase CLI(firebase firestore:indexes)によってエクスポートされた JSON 形式を受け入れます。JSON 形式が無効な場合、このメソッドはエラーをスローします。

署名:

export declare function setIndexConfiguration(firestore: Firestore, json: string): Promise<void>;

パラメータ

パラメータ 説明
firestore Firestore インデックスを構成する Firestore インスタンス。
json 文字列 Firebase CLI によってエクスポートされた JSON 形式。

戻り値:

Promise&lt;void&gt;

すべてのインデックスが正常に構成されると解決される Promise

例外

JSON 形式が無効な場合は FirestoreError。

終了(firestore)

指定された Firestore インスタンスを終了します。

terminate() を呼び出した後は、clearIndexedDbPersistence() 関数のみを使用できます。その他の関数は FirestoreError をスローします。

終了後に再起動するには、getFirestore() を使用して FirebaseFirestore の新しいインスタンスを作成します。

終了によって保留中の書き込みはキャンセルされず、サーバーからの応答を待っている Promise は解決されません。永続性を有効にしている場合、このインスタンスを次回起動すると、これらの書き込みのサーバーへの送信が再開されます。

署名:

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

パラメータ

パラメータ 説明
firestore Firestore

戻り値:

Promise&lt;void&gt;

インスタンスが正常に終了したときに解決される Promise

waitForPendingWrites(ファイアストア)

アクティブ ユーザーへの現在保留中の書き込みがすべてバックエンドによって承認されるまで待機します。

未処理の書き込みがない場合、返される Promise は直ちに解決されます。それ以外の場合、Promise は以前に発行されたすべての書き込み(前のアプリ セッションで書き込まれた書き込みを含む)を待機しますが、関数が呼び出された後に追加された書き込みは待機しません。追加の書き込みを待つ場合は、もう一度 waitForPendingWrites() を呼び出します。

未処理の waitForPendingWrites() Promise は、ユーザー変更中に拒否されます。

署名:

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

パラメータ

パラメータ 説明
firestore Firestore

戻り値:

Promise&lt;void&gt;

Promise。現在保留中のすべての書き込みがバックエンドによって確認されると解決されます。

writeBatch(firestore)

複数の書き込みを単一のアトミック オペレーションとして実行するために使用する書き込みバッチを作成します。1 つの WriteBatch で許可される書き込みの最大数は 500 です。

トランザクションとは異なり、書き込みバッチはオフラインで保持されるため、読み取りデータに対する書き込みの条件が不要な場合に適しています。

署名:

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

パラメータ

パラメータ 説明
firestore Firestore

戻り値:

WriteBatch

複数の書き込みをアトミックに実行するために使用できる WriteBatch

関数

count()

クエリの結果セットに含まれるドキュメント数の計算に使用できる AggregateField オブジェクトを作成します。

署名:

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

戻り値:

AggregateField<number>

deleteField()

updateDoc() または setDoc(){merge: true} を指定してフィールドを削除するマークを付け、使用するセンチネルを返します。

署名:

export declare function deleteField(): FieldValue;

戻り値:

フィールド値

documentId()

ドキュメントの ID を参照する特別な標識 FieldPath を返します。クエリでドキュメント ID による並べ替えやフィルタリングに使用できます。

署名:

export declare function documentId(): FieldPath;

戻り値:

FieldPath

getFirestore()

デフォルトの FirebaseApp に関連付けられている既存のデフォルトの Firestore インスタンスを返します。インスタンスが存在しない場合は、新しいインスタンスをデフォルト設定で初期化します。

署名:

export declare function getFirestore(): Firestore;

戻り値:

Firestore

デフォルト アプリのデフォルトの Firestore インスタンス。

memoryEagerGarbageCollector()

MemoryEagerGarbageCollector のインスタンスを作成します。特に指定しない限り、これはデフォルトのガベージ コレクタでもあります。

署名:

export declare function memoryEagerGarbageCollector(): MemoryEagerGarbageCollector;

戻り値:

MemoryEagerGarbageCollector

PersistentMultipleTabManager()

PersistentMultipleTabManager のインスタンスを作成します。

署名:

export declare function persistentMultipleTabManager(): PersistentMultipleTabManager;

戻り値:

PersistentMultipleTabManager

serverTimestamp()

サーバーで生成されたタイムスタンプを書き込まれるデータに含めるために setDoc() または updateDoc() で使用する標識を返します。

署名:

export declare function serverTimestamp(): FieldValue;

戻り値:

フィールド値

function(databaseId, ...)

getFirestore(databaseId)

この API はデベロッパー向けのプレビュー版として提供されており、寄せられたフィードバックに基づいて変更される可能性があります。この API は本番環境で使用しないでください。

デフォルトの FirebaseApp に関連付けられている既存の名前付き Firestore インスタンスを返します。インスタンスが存在しない場合は、新しいインスタンスをデフォルト設定で初期化します。

署名:

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

パラメータ

パラメータ 説明
databaseId 文字列 データベースの名前。

戻り値:

Firestore

デフォルト アプリの名前付きの Firestore インスタンス。

関数(要素, ...)

配列削除(要素)

setDoc() で使用できるか、サーバーにすでに存在するすべての配列値から指定された要素を削除するようサーバーに指示する特別な値を返します。指定した各要素のすべてのインスタンスが配列から削除されます。変更されるフィールドがまだ配列でない場合、空の配列で上書きされます。

署名:

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

パラメータ

パラメータ 説明
要素 不明 [] 配列から削除する要素。

戻り値:

フィールド値

setDoc() または updateDoc() への呼び出しで使用する FieldValue 標識

arrayUnion(elements)

setDoc() または updateDoc() で指定できる特殊な値を返します。この値は、指定された要素をサーバーにすでに存在する任意の配列値と統合するようサーバーに指示します。指定した配列にまだ存在しない各要素は、末尾に追加されます。変更されるフィールドがまだ配列でない場合、指定された要素だけを含む配列で上書きされます。

署名:

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

パラメータ

パラメータ 説明
要素 不明 [] 結合して配列にする要素です。

戻り値:

フィールド値

setDoc() または updateDoc() への呼び出しで使用する FieldValue 標識。

function(field, ...)

average(field)

クエリの結果セットに含まれる一連のドキュメントに対して指定されたフィールドの平均値を計算するために使用できる AggregateField オブジェクトを作成します。

署名:

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

パラメータ

パラメータ 説明
フィールド 文字列 |FieldPath 結果セット全体で平均化するフィールドを指定します。

戻り値:

AggregateField<number |null>

sum(field)

クエリの結果セットのドキュメント範囲に対して指定したフィールドの合計を計算するために使用できる AggregateField オブジェクトを作成します。

署名:

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

パラメータ

パラメータ 説明
フィールド 文字列 |FieldPath 結果セット全体で合計するフィールドを指定します。

戻り値:

AggregateField<number>

function(fieldPath, ...)

orderBy(fieldPath, directionalStr)

指定されたフィールドでクエリ結果を昇順ではなく降順で並べ替える QueryOrderByConstraint を作成します。

署名:

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

パラメータ

パラメータ 説明
fieldPath 文字列 |FieldPath 並べ替えに使用するフィールド。
方向 Str OrderByDirection 並べ替えの方向(「asc」または「desc」)(省略可)。指定しない場合、順序は昇順になります。

戻り値:

QueryOrderByConstraint

作成された QueryOrderByConstraint

ここで(fieldPath, opStr, value)

指定されたフィールドがドキュメントに含まれる必要があり、その値が指定されたリレーション制約を満たすように強制する QueryFieldFilterConstraint を作成します。

署名:

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

パラメータ

パラメータ 説明
fieldPath 文字列 |FieldPath 比較するパス
OpStr WhereFilterOp 演算文字列(例: "&lt;"、"&lt;="、"=="、"&lt;"、"&lt;="、"!=")。
不明 比較の値

戻り値:

QueryFieldFilterConstraint

作成された QueryFieldFilterConstraint

function(fieldValues, ...)

endAt(fieldValues)

クエリの順序を基準にして、指定されたフィールドで結果セットが終わるように結果セットを変更する QueryEndAtConstraint を作成します。フィールド値の順序は、クエリの order by 句の順序と一致している必要があります。

署名:

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

パラメータ

パラメータ 説明
fieldValues 不明 [] クエリの並べ替え順で、このクエリを終了するフィールド値。

戻り値:

QueryEndAtConstraint

query() に渡す QueryEndAtConstraint

endBefore(fieldValues)

クエリの順序に応じて、結果セットが指定されたフィールドよりも前に終了するように変更する QueryEndAtConstraint を作成します。フィールド値の順序は、クエリの order by 句の順序と一致している必要があります。

署名:

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

パラメータ

パラメータ 説明
fieldValues 不明 [] このクエリを終了するフィールド値(クエリの順序で並べ替え)。

戻り値:

QueryEndAtConstraint

query() に渡す QueryEndAtConstraint

startAfter(fieldValues)

クエリの順序を基準にして、指定されたフィールドの後に結果セットが開始されるように結果セットを変更する QueryStartAtConstraint を作成します。フィールド値の順序は、クエリの order by 句の順序と一致している必要があります。

署名:

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

パラメータ

パラメータ 説明
fieldValues 不明 [] クエリの順序で並べ替えられた、このクエリを開始するフィールド値。

戻り値:

QueryStartAtConstraint

query() に渡す QueryStartAtConstraint

startAt(fieldValues)

クエリの順序を基準にして、指定されたフィールドから結果セットが開始されるように結果セットを変更する QueryStartAtConstraint を作成します。フィールド値の順序は、クエリの order by 句の順序と一致している必要があります。

署名:

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

パラメータ

パラメータ 説明
fieldValues 不明 [] クエリの順序で並べ替えられた、このクエリを開始するフィールド値。

戻り値:

QueryStartAtConstraint

query() に渡す QueryStartAtConstraint

function(indexManager, ...)

deleteAllPersistentCacheIndexes(indexManager)

すべての永続キャッシュ インデックスを削除します。

この関数は、サポートが終了した setIndexConfiguration() によって生成されたインデックスも削除されます。

署名:

export declare function deleteAllPersistentCacheIndexes(indexManager: PersistentCacheIndexManager): void;

パラメータ

パラメータ 説明
indexManager PersistentCacheIndexManager

戻り値:

void

disablePersistentCacheIndexAutoCreation(indexManager)

ローカルクエリの実行用の永続キャッシュ インデックスの作成を自動的に停止します。enablePersistentCacheIndexAutoCreation() を呼び出して作成したインデックスは引き続き有効です。

署名:

export declare function disablePersistentCacheIndexAutoCreation(indexManager: PersistentCacheIndexManager): void;

パラメータ

パラメータ 説明
indexManager PersistentCacheIndexManager

戻り値:

void

enablePersistentCacheIndexAutoCreation(indexManager)

キャッシュ インデックスがパフォーマンスの向上に役立つと SDK が判断した場合、ローカルクエリの実行用の永続キャッシュ インデックスを SDK が自動的に作成できるようにします。

この機能はデフォルトで無効になっています。

署名:

export declare function enablePersistentCacheIndexAutoCreation(indexManager: PersistentCacheIndexManager): void;

パラメータ

パラメータ 説明
indexManager PersistentCacheIndexManager

戻り値:

void

関数(左、...)

aggregateFieldEqual(left, right)

2 つの 'AggregateField` インスタンスを比較し、等価であるかどうかをチェックします。

署名:

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

パラメータ

パラメータ 説明
AggregateField<unknown> この AggregateField を right と比較します。
AggregateField<unknown> この AggregateField を left と比較します。

戻り値:

ブール値

aggregateQuerySnapshotEqual(left, right)

2 つの AggregateQuerySnapshot インスタンスが等価であるかどうかを比較します。

2 つの AggregateQuerySnapshot インスタンスが「等しい」と見なされます基になるクエリが同じ比較対象であり、同じデータを持っている場合です。

署名:

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

パラメータ

パラメータ 説明
AggregateQuerySnapshot<AggregateSpecType、AppModelType、DbModelType> 比較する最初の AggregateQuerySnapshot
AggregateQuerySnapshot<AggregateSpecType、AppModelType、DbModelType> 比較する 2 番目の AggregateQuerySnapshot

戻り値:

ブール値

上記で定義されているようにオブジェクトが「等しい」場合は true、それ以外の場合は false

queryEqual(左, 右)

指定されたクエリが同じコレクションをポイントし、同じ制約を適用している場合、true を返します。

署名:

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

パラメータ

パラメータ 説明
Query<AppModelType、DbModelType> 比較する Query
Query<AppModelType、DbModelType> 比較する Query

戻り値:

ブール値

参照が同じ Firestore データベース内の同じ場所を指している場合は true。

refEqual(左, 右)

指定された参照が等しい場合は true を返します。

署名:

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

パラメータ

パラメータ 説明
DocumentReference<AppModelType、DbModelType>|CollectionReference<AppModelType、DbModelType> 比較するリファレンス。
DocumentReference<AppModelType、DbModelType>|CollectionReference<AppModelType、DbModelType> 比較するリファレンス。

戻り値:

ブール値

参照が同じ Firestore データベース内の同じ場所を指している場合は true。

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>|QuerySnapshot<AppModelType、DbModelType> 比較するスナップショット。
DocumentSnapshot<AppModelType、DbModelType>|QuerySnapshot<AppModelType、DbModelType> 比較するスナップショット。

戻り値:

ブール値

スナップショットが等しい場合は true を返します。

function(limit, ...)

制限(limit)

最初に一致するドキュメントのみを返す QueryLimitConstraint を作成します。

署名:

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

パラメータ

パラメータ 説明
limit 数値 返す最大アイテム数。

戻り値:

QueryLimitConstraint

作成された QueryLimitConstraint です。

limitToLast(limit)

最後に一致したドキュメントのみを返す QueryLimitConstraint を作成します。

limitToLast クエリには少なくとも 1 つの orderBy 句を指定する必要があります。指定しない場合、実行時に例外がスローされます。

署名:

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

パラメータ

パラメータ 説明
limit 数値 返す最大アイテム数。

戻り値:

QueryLimitConstraint

作成された QueryLimitConstraint です。

function(logLevel, ...)

setLogLevel(logLevel)

Cloud Firestore ログの詳細度を設定します(デバッグ、エラー、サイレント)。

署名:

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

パラメータ

パラメータ 説明
logLevel LogLevel アクティビティとエラーのロギングに設定した詳細度。次のいずれかの値を指定できます。
  • debug: 最も詳細なログレベル(主にデバッグ用)。
  • error - エラーのみをログに記録します。
  • silent to turn off logging.

戻り値:

void

関数(n, ...)

インクリメント(n)

フィールドの現在の値を指定された値だけ増やすようサーバーに指示する setDoc() または updateDoc() で使用できる特別な値を返します。

オペランドまたは現在のフィールド値のいずれかで浮動小数点精度を使用する場合、すべての演算は IEEE 754 セマンティクスに従います。両方の値が整数の場合、JavaScript の安全な数値範囲(Number.MIN_SAFE_INTEGERNumber.MAX_SAFE_INTEGER)外の値も精度が失われる可能性があります。さらに、Firestore バックエンドで処理されると、すべての整数演算は -2^63 から 2^63-1 の間で制限されます。

現在のフィールド値の型が number でない場合、またはフィールドがまだ存在しない場合、変換により、指定された値にフィールドが設定されます。

署名:

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

パラメータ

パラメータ 説明
n 数値 増加させる値。

戻り値:

フィールド値

setDoc() または updateDoc() への呼び出しで使用する FieldValue 標識

function(query, ...)

getAggregateFromServer(query, aggregateSpec)

実際にドキュメントをダウンロードせずに、指定されたクエリの結果セットに含まれるドキュメントに対して、指定された集計を計算します。

この関数を使用して集計を行うと効率的です。ドキュメントの集計値ではなく最終的な集計値のみが集計されるため、ダウンロードされます。結果セットが大きすぎて完全にダウンロードできない(数千のドキュメント)場合に、この関数はドキュメントの集計を実行できます。

サーバーから受信した結果は、ローカルの状態を考慮せず、変更されることなく表示されます。つまり、ローカル キャッシュ内のドキュメントも、ローカルの変更がサーバーと同期されていないことも考慮されません。以前にダウンロードした結果(ある場合)は使用されません。この関数が呼び出されるたびに、サーバーへのラウンドトリップが必要になります。

署名:

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

パラメータ

パラメータ 説明
クエリ Query<AppModelType、DbModelType> 結果セットが集計されるクエリ。
集計仕様 AggregateSpecType 結果セットに対して実行する集計を指定する AggregateSpec オブジェクト。AggregateSpec は、集計結果を取得するために使用できる各集計のエイリアスを指定します。

戻り値:

Promise<AggregateQuerySnapshot<AggregateSpecType, AppModelType, DbModelType>>

const aggregateSnapshot = await getAggregateFromServer(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;

getCountFromServer(query)

実際にドキュメントをダウンロードせずに、指定されたクエリの結果セットに含まれるドキュメントの数を計算します。

この関数を使用してドキュメントのカウントを行うと効率的です。これは、ドキュメントのカウントではなく、最終的なカウントのみが行われるためです。ダウンロードされます。この関数は、結果セットのサイズが大きすぎて完全にダウンロードできない(数千のドキュメント)場合に、ドキュメントをカウントできます。

サーバーから受信した結果は、ローカルの状態を考慮せず、変更されることなく表示されます。つまり、ローカル キャッシュ内のドキュメントも、ローカルの変更がサーバーと同期されていないことも考慮されません。以前にダウンロードした結果(ある場合)は使用されません。この関数が呼び出されるたびに、サーバーへのラウンドトリップが必要になります。

署名:

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

パラメータ

パラメータ 説明
クエリ Query<AppModelType、DbModelType> 結果セットのサイズを計算するクエリ。

戻り値:

Promise<AggregateQuerySnapshot<{ count: AggregateField<number>;}、AppModelType、DbModelType>>

カウントで解決される Promiseカウントは snapshot.data().count から取得できます。ここで、snapshot は、返された Promise が解決する AggregateQuerySnapshot です。

getDocs(query)

クエリを実行し、結果を QuerySnapshot として返します。

署名:

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

パラメータ

パラメータ 説明
クエリ Query<AppModelType、DbModelType>

戻り値:

Promise<QuerySnapshot<AppModelType, DbModelType>>

クエリの結果で解決される Promise

getDocsFromCache(query)

クエリを実行し、結果をキャッシュから QuerySnapshot として返します。クエリに一致するドキュメントが現在キャッシュに保存されていない場合は、空の結果セットを返します。

署名:

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

パラメータ

パラメータ 説明
クエリ Query<AppModelType、DbModelType>

戻り値:

Promise<QuerySnapshot<AppModelType, DbModelType>>

クエリの結果で解決される Promise

getDocsFromServer(query)

クエリを実行し、サーバーから QuerySnapshot として結果を返します。ネットワークが利用できない場合はエラーを返します。

署名:

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

パラメータ

パラメータ 説明
クエリ Query<AppModelType、DbModelType>

戻り値:

Promise<QuerySnapshot<AppModelType, DbModelType>>

クエリの結果で解決される Promise

onSnapshot(クエリ, オブザーバー)

QuerySnapshot イベントのリスナーをアタッチします。onNext コールバックと onError コールバックを個別に渡すか、next コールバックと error コールバックで 1 つのオブザーバー オブジェクトを渡せます。onSnapshot が呼び出されたときに返される関数を呼び出すと、リスナーをキャンセルできます。

注: onCompletion コールバックは提供できますが、スナップショット ストリームに終わりがないため、呼び出されることはありません。

署名:

export declare function onSnapshot<AppModelType, DbModelType extends DocumentData>(query: Query<AppModelType, DbModelType>, observer: {
    next?: (snapshot: QuerySnapshot<AppModelType, DbModelType>) => void;
    error?: (error: FirestoreError) => void;
    complete?: () => void;
}): Unsubscribe;

パラメータ

パラメータ 説明
クエリ Query<AppModelType、DbModelType> リッスンするクエリ。
observer { next?:(スナップショット: QuerySnapshot<AppModelType, DbModelType>)=>void;error?:(エラー: FirestoreError)=>void;complete?:() =>void;} next コールバックと error コールバックを含む単一のオブジェクト。

戻り値:

配信停止

スナップショット リスナーをキャンセルするために呼び出すことができる登録解除関数。

onSnapshot(クエリ, オプション, オブザーバー)

QuerySnapshot イベントのリスナーをアタッチします。onNext コールバックと onError コールバックを個別に渡すか、next コールバックと error コールバックで 1 つのオブザーバー オブジェクトを渡すことができます。onSnapshot が呼び出されたときに返される関数を呼び出すと、リスナーをキャンセルできます。

注: onCompletion コールバックは提供できますが、スナップショット ストリームに終わりがないため、呼び出されることはありません。

署名:

export declare function onSnapshot<AppModelType, DbModelType extends DocumentData>(query: Query<AppModelType, DbModelType>, options: SnapshotListenOptions, observer: {
    next?: (snapshot: QuerySnapshot<AppModelType, DbModelType>) => void;
    error?: (error: FirestoreError) => void;
    complete?: () => void;
}): Unsubscribe;

パラメータ

パラメータ 説明
クエリ Query<AppModelType、DbModelType> リッスンするクエリ。
オプション SnapshotListenOptions リッスンの動作を制御するオプション。
observer { next?:(スナップショット: QuerySnapshot<AppModelType, DbModelType>)=>void;error?:(エラー: FirestoreError)=>void;complete?:() =>void;} next コールバックと error コールバックを含む単一のオブジェクト。

戻り値:

配信停止

スナップショット リスナーをキャンセルするために呼び出すことができる登録解除関数。

onSnapshot(query, onNext, onError, oncompletion)

QuerySnapshot イベントのリスナーをアタッチします。onNext コールバックと onError コールバックを個別に渡すか、next コールバックと error コールバックで 1 つのオブザーバー オブジェクトを渡すことができます。onSnapshot が呼び出されたときに返される関数を呼び出すと、リスナーをキャンセルできます。

注: onCompletion コールバックは提供できますが、スナップショット ストリームに終わりがないため、呼び出されることはありません。

署名:

export declare function onSnapshot<AppModelType, DbModelType extends DocumentData>(query: Query<AppModelType, DbModelType>, onNext: (snapshot: QuerySnapshot<AppModelType, DbModelType>) => void, onError?: (error: FirestoreError) => void, onCompletion?: () => void): Unsubscribe;

パラメータ

パラメータ 説明
クエリ Query<AppModelType、DbModelType> リッスンするクエリ。
onNext (スナップショット: QuerySnapshot<AppModelType, DbModelType>)=>無効 新しい QuerySnapshot が利用可能になるたびに呼び出されるコールバック。
onError (エラー: FirestoreError)=>無効 リッスンが失敗した場合またはキャンセルされたときに呼び出されるコールバック。コールバックはそれ以上発生しません。
完了時 () =>無効 指定できますが、ストリームが終了しないため、呼び出されません。

戻り値:

配信停止

スナップショット リスナーをキャンセルするために呼び出すことができる登録解除関数。

onSnapshot(query, options, onNext, onError, oncompletion)

QuerySnapshot イベントのリスナーをアタッチします。onNext コールバックと onError コールバックを個別に渡すか、next コールバックと error コールバックで 1 つのオブザーバー オブジェクトを渡すことができます。onSnapshot が呼び出されたときに返される関数を呼び出すと、リスナーをキャンセルできます。

注: onCompletion コールバックは提供できますが、スナップショット ストリームに終わりがないため、呼び出されることはありません。

署名:

export declare function onSnapshot<AppModelType, DbModelType extends DocumentData>(query: Query<AppModelType, DbModelType>, options: SnapshotListenOptions, onNext: (snapshot: QuerySnapshot<AppModelType, DbModelType>) => void, onError?: (error: FirestoreError) => void, onCompletion?: () => void): Unsubscribe;

パラメータ

パラメータ 説明
クエリ Query<AppModelType、DbModelType> リッスンするクエリ。
オプション SnapshotListenOptions リッスンの動作を制御するオプション。
onNext (スナップショット: QuerySnapshot<AppModelType, DbModelType>)=>無効 新しい QuerySnapshot が利用可能になるたびに呼び出されるコールバック。
onError (エラー: FirestoreError)=>無効 リッスンが失敗した場合またはキャンセルされたときに呼び出されるコールバック。コールバックはそれ以上発生しません。
完了時 () =>無効 指定できますが、ストリームが終了しないため、呼び出されません。

戻り値:

配信停止

スナップショット リスナーをキャンセルするために呼び出すことができる登録解除関数。

query(query、compositeFilter、queryConstraints)

追加のクエリ制約も含むように拡張された Query の新しい不変インスタンスを作成します。

署名:

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

パラメータ

パラメータ 説明
クエリ Query<AppModelType、DbModelType> 新しい制約のベースとして使用する Query インスタンス。
複合フィルタ QueryCompositeFilterConstraint 適用する QueryCompositeFilterConstraintand() または or() を使用して QueryCompositeFilterConstraint を作成します。
queryConstraints QueryNonFilterConstraint[] 適用する追加の QueryNonFilterConstraint(例: orderBy()limit())。

戻り値:

Query<AppModelType、DbModelType>

例外

指定されたクエリ制約のいずれかを、既存の制約または新しい制約と組み合わせることができない場合。

query(query, queryConstraints)

追加のクエリ制約も含むように拡張された Query の新しい不変インスタンスを作成します。

署名:

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

パラメータ

パラメータ 説明
クエリ Query<AppModelType、DbModelType> 新しい制約のベースとして使用する Query インスタンス。
queryConstraints QueryConstraint[] 適用する QueryConstraint のリスト。

戻り値:

Query<AppModelType、DbModelType>

例外

指定されたクエリ制約のいずれかを、既存の制約または新しい制約と組み合わせることができない場合。

関数(queryConstraints, ...)

and(queryConstraints)

指定されたフィルタ制約の結合である新しい QueryCompositeFilterConstraint を作成します。結合フィルタには、指定されたフィルタをすべて満たすドキュメントが含まれます。

署名:

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

パラメータ

パラメータ 説明
queryConstraints QueryFilterConstraint[] 省略可。結合を実行する QueryFilterConstraint のリスト。これらを作成するには、where()or()and() のいずれかを呼び出します。

戻り値:

QueryCompositeFilterConstraint

新しく作成された QueryCompositeFilterConstraint

or(queryConstraints)

指定されたフィルタ制約の分離である新しい QueryCompositeFilterConstraint を作成します。分離フィルタには、指定されたフィルタのいずれかを満たすドキュメントが含まれます。

署名:

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

パラメータ

パラメータ 説明
queryConstraints QueryFilterConstraint[] 省略可。分離を実行する QueryFilterConstraint のリスト。これらを作成するには、where()or()and() のいずれかを呼び出します。

戻り値:

QueryCompositeFilterConstraint

新しく作成された QueryCompositeFilterConstraint

function(reference, ...)

addDoc(reference, data)

指定されたデータを含む新しいドキュメントを、指定された CollectionReference に追加し、ドキュメント ID を自動的に割り当てます。

署名:

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

パラメータ

パラメータ 説明
リファレンス CollectionReference<AppModelType、DbModelType> このドキュメントの追加先コレクションへの参照。
データ WithFieldValue<AppModelType> 新しいドキュメントのデータを含むオブジェクト。

戻り値:

Promise<DocumentReference<AppModelType, DbModelType>>

Promise は、バックエンドに書き込まれた後に新しく作成されたドキュメントを指す DocumentReference で解決されました(オフライン中は解決されません)。

コレクション(参照、パス、パスセグメント)

指定された相対パスで reference のサブコレクションを参照する CollectionReference インスタンスを取得します。

署名:

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

パラメータ

パラメータ 説明
リファレンス CollectionReference<AppModelType、DbModelType> コレクションへの参照。
パス 文字列 コレクションへのスラッシュ区切りパス。
pathSegments string[] 最初の引数を基準として適用する追加のパスセグメント。

戻り値:

CollectionReference<DocumentDataDocumentData>

CollectionReference インスタンス。

例外

最終的なパスのセグメント数が偶数で、コレクションを参照していない場合。

コレクション(参照、パス、パスセグメント)

指定された相対パスで reference のサブコレクションを参照する CollectionReference インスタンスを取得します。

署名:

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

パラメータ

パラメータ 説明
リファレンス DocumentReference<AppModelType、DbModelType> Firestore ドキュメントへの参照。
パス 文字列 コレクションへのスラッシュ区切りパス。
pathSegments string[] 最初の引数を基準として適用される追加のパスセグメント。

戻り値:

CollectionReference<DocumentDataDocumentData>

CollectionReference インスタンス。

例外

最終的なパスのセグメント数が偶数で、コレクションを参照していない場合。

deleteDoc(参照)

指定された DocumentReference によって参照されるドキュメントを削除します。

署名:

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

パラメータ

パラメータ 説明
リファレンス DocumentReference<AppModelType、DbModelType> 削除するドキュメントの参照。

戻り値:

Promise&lt;void&gt;

ドキュメントがバックエンドから正常に削除されると解決される Promise(オフライン中は解決されません)。

doc(参照、パス、パスセグメント)

指定された相対パスで reference 内のドキュメントを参照する DocumentReference インスタンスを取得します。パスが指定されていない場合、自動的に生成された一意の ID が、返される DocumentReference に使用されます。

署名:

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

パラメータ

パラメータ 説明
リファレンス CollectionReference<AppModelType、DbModelType> コレクションへの参照。
パス 文字列 スラッシュで区切られたドキュメントへのパス。自動生成された ID を使用する場合は省略する必要があります。
pathSegments string[] 最初の引数を基準として適用される追加のパスセグメント。

戻り値:

DocumentReference<AppModelType、DbModelType>

DocumentReference インスタンス。

例外

最終的なパスのセグメント数が奇数で、ドキュメントを参照していない場合。

doc(参照、パス、パスセグメント)

指定された相対パスで reference 内のドキュメントを参照する DocumentReference インスタンスを取得します。

署名:

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

パラメータ

パラメータ 説明
リファレンス DocumentReference<AppModelType、DbModelType> Firestore ドキュメントへの参照。
パス 文字列 スラッシュで区切られたドキュメントへのパス。
pathSegments string[] 最初の引数を基準として適用される追加のパスセグメント。

戻り値:

DocumentReference<DocumentDataDocumentData>

DocumentReference インスタンス。

例外

最終的なパスのセグメント数が奇数で、ドキュメントを参照していない場合。

getDoc(参照)

この DocumentReference が参照するドキュメントを読み取ります。

署名:

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

パラメータ

パラメータ 説明
リファレンス DocumentReference<AppModelType、DbModelType> 取得するドキュメントの参照。

戻り値:

Promise<DocumentSnapshot<AppModelType, DbModelType>>

現在のドキュメントの内容を含む DocumentSnapshot で解決された Promise。

getDocFromCache(参照)

この DocumentReference が参照するドキュメントをキャッシュから読み取ります。ドキュメントが現在キャッシュされていない場合、エラーを返します。

署名:

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

パラメータ

パラメータ 説明
リファレンス DocumentReference<AppModelType、DbModelType>

戻り値:

Promise<DocumentSnapshot<AppModelType, DbModelType>>

現在のドキュメントの内容を含む DocumentSnapshot で解決された Promise

getDocFromServer(参照)

この DocumentReference が参照するドキュメントをサーバーから読み取ります。ネットワークが利用できない場合はエラーを返します。

署名:

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

パラメータ

パラメータ 説明
リファレンス DocumentReference<AppModelType、DbModelType>

戻り値:

Promise<DocumentSnapshot<AppModelType, DbModelType>>

現在のドキュメントの内容を含む DocumentSnapshot で解決された Promise

onSnapshot(参照, オブザーバー)

DocumentSnapshot イベントのリスナーをアタッチします。onNext コールバックと onError コールバックを個別に渡すか、next コールバックと error コールバックで単一のオブザーバー オブジェクトを渡せます。

注: onCompletion コールバックは提供できますが、スナップショット ストリームに終わりがないため、呼び出されることはありません。

署名:

export declare function onSnapshot<AppModelType, DbModelType extends DocumentData>(reference: DocumentReference<AppModelType, DbModelType>, observer: {
    next?: (snapshot: DocumentSnapshot<AppModelType, DbModelType>) => void;
    error?: (error: FirestoreError) => void;
    complete?: () => void;
}): Unsubscribe;

パラメータ

パラメータ 説明
リファレンス DocumentReference<AppModelType、DbModelType> リッスンするドキュメントへの参照。
observer { next?:(スナップショット: DocumentSnapshot<AppModelType, DbModelType>)=>void;error?:(エラー: FirestoreError)=>void;complete?:() =>void;} next コールバックと error コールバックを含む単一のオブジェクト。

戻り値:

配信停止

スナップショット リスナーをキャンセルするために呼び出すことができる登録解除関数。

onSnapshot(参照, オプション, オブザーバー)

DocumentSnapshot イベントのリスナーをアタッチします。onNext コールバックと onError コールバックを個別に渡すか、next コールバックと error コールバックで単一のオブザーバー オブジェクトを渡せます。

注: onCompletion コールバックは提供できますが、スナップショット ストリームに終わりがないため、呼び出されることはありません。

署名:

export declare function onSnapshot<AppModelType, DbModelType extends DocumentData>(reference: DocumentReference<AppModelType, DbModelType>, options: SnapshotListenOptions, observer: {
    next?: (snapshot: DocumentSnapshot<AppModelType, DbModelType>) => void;
    error?: (error: FirestoreError) => void;
    complete?: () => void;
}): Unsubscribe;

パラメータ

パラメータ 説明
リファレンス DocumentReference<AppModelType、DbModelType> リッスンするドキュメントへの参照。
オプション SnapshotListenOptions リッスンの動作を制御するオプション。
observer { next?:(スナップショット: DocumentSnapshot<AppModelType, DbModelType>)=>void;error?:(エラー: FirestoreError)=>void;complete?:() =>void;} next コールバックと error コールバックを含む単一のオブジェクト。

戻り値:

配信停止

スナップショット リスナーをキャンセルするために呼び出すことができる登録解除関数。

onSnapshot(参照, onNext, onError, oncompletion)

DocumentSnapshot イベントのリスナーをアタッチします。onNext コールバックと onError コールバックを個別に渡すか、next コールバックと error コールバックで単一のオブザーバー オブジェクトを渡せます。

注: onCompletion コールバックは提供できますが、スナップショット ストリームに終わりがないため、呼び出されることはありません。

署名:

export declare function onSnapshot<AppModelType, DbModelType extends DocumentData>(reference: DocumentReference<AppModelType, DbModelType>, onNext: (snapshot: DocumentSnapshot<AppModelType, DbModelType>) => void, onError?: (error: FirestoreError) => void, onCompletion?: () => void): Unsubscribe;

パラメータ

パラメータ 説明
リファレンス DocumentReference<AppModelType、DbModelType> リッスンするドキュメントへの参照。
onNext (スナップショット: DocumentSnapshot<AppModelType, DbModelType>)=>無効 新しい DocumentSnapshot が利用可能になるたびに呼び出されるコールバック。
onError (エラー: FirestoreError)=>無効 リッスンが失敗した場合またはキャンセルされたときに呼び出されるコールバック。コールバックはそれ以上発生しません。
完了時 () =>無効 指定できますが、ストリームが終了しないため、呼び出されません。

戻り値:

配信停止

スナップショット リスナーをキャンセルするために呼び出すことができる登録解除関数。

onSnapshot(参照, オプション, onNext, onError, oncompletion)

DocumentSnapshot イベントのリスナーをアタッチします。onNext コールバックと onError コールバックを個別に渡すか、next コールバックと error コールバックで単一のオブザーバー オブジェクトを渡せます。

注: onCompletion コールバックは提供できますが、スナップショット ストリームに終わりがないため、呼び出されることはありません。

署名:

export declare function onSnapshot<AppModelType, DbModelType extends DocumentData>(reference: DocumentReference<AppModelType, DbModelType>, options: SnapshotListenOptions, onNext: (snapshot: DocumentSnapshot<AppModelType, DbModelType>) => void, onError?: (error: FirestoreError) => void, onCompletion?: () => void): Unsubscribe;

パラメータ

パラメータ 説明
リファレンス DocumentReference<AppModelType、DbModelType> リッスンするドキュメントへの参照。
オプション SnapshotListenOptions リッスンの動作を制御するオプション。
onNext (スナップショット: DocumentSnapshot<AppModelType, DbModelType>)=>無効 新しい DocumentSnapshot が利用可能になるたびに呼び出されるコールバック。
onError (エラー: FirestoreError)=>無効 リッスンが失敗した場合またはキャンセルされたときに呼び出されるコールバック。コールバックはそれ以上発生しません。
完了時 () =>無効 指定できますが、ストリームが終了しないため、呼び出されません。

戻り値:

配信停止

スナップショット リスナーをキャンセルするために呼び出すことができる登録解除関数。

setDoc(reference, data)

この DocumentReference によって参照されるドキュメントに書き込みます。ドキュメントがまだ存在しない場合は作成されます。

署名:

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

パラメータ

パラメータ 説明
リファレンス DocumentReference<AppModelType、DbModelType> 作成するドキュメントへの参照。
データ WithFieldValue<AppModelType> ドキュメントのフィールドと値のマップ。

戻り値:

Promise&lt;void&gt;

データがバックエンドに正常に書き込まれると、Promise が解決されます(オフライン中は解決されません)。

setDoc(参照, データ, オプション)

指定された DocumentReference によって参照されるドキュメントに書き込みます。ドキュメントがまだ存在しない場合は作成されます。merge または mergeFields を指定すると、指定されたデータを既存のドキュメントに統合できます。

署名:

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

パラメータ

パラメータ 説明
リファレンス DocumentReference<AppModelType、DbModelType> 作成するドキュメントへの参照。
データ PartialWithFieldValue<AppModelType> ドキュメントのフィールドと値のマップ。
オプション SetOptions 設定動作を構成するオブジェクト。

戻り値:

Promise&lt;void&gt;

データがバックエンドに正常に書き込まれると解決される Promise(オフライン中は解決されません)。

updateDoc(reference, data)

指定された DocumentReference によって参照されるドキュメント内のフィールドを更新します。存在しないドキュメントに適用すると、更新は失敗します。

署名:

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

パラメータ

パラメータ 説明
リファレンス DocumentReference<AppModelType、DbModelType> 更新するドキュメントへの参照。
データ UpdateData<DbModelType> ドキュメントの更新に使用するフィールドと値を含むオブジェクト。フィールドには、ドキュメント内のネストされたフィールドを参照するドットを含めることができます。

戻り値:

Promise&lt;void&gt;

データがバックエンドに正常に書き込まれると、Promise が解決されます(オフライン中は解決されません)。

updateDoc(参照, フィールド, 値, moreFieldsAndValues)

指定された DocumentReference によって参照されるドキュメント内のフィールドを更新します。存在しないドキュメントに更新を適用すると、更新は失敗します。

ネストされたフィールドを更新するには、ドット区切りのフィールドパス文字列を指定するか、FieldPath オブジェクトを指定します。

署名:

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

パラメータ

パラメータ 説明
リファレンス DocumentReference<AppModelType、DbModelType> 更新するドキュメントへの参照。
フィールド 文字列 |FieldPath 更新する最初のフィールドです。
不明 1 つ目の値です。
moreFieldsAndValues 不明 [] 追加の Key-Value ペア。

戻り値:

Promise&lt;void&gt;

データがバックエンドに正常に書き込まれると、Promise が解決されます(オフライン中は解決されません)。

function(settings, ...)

memoryLocalCache(settings)

MemoryLocalCache のインスタンスを作成します。インスタンスを FirestoreSettings.cache に設定すると、使用するキャッシュ レイヤを SDK に指示できます。

署名:

export declare function memoryLocalCache(settings?: MemoryCacheSettings): MemoryLocalCache;

パラメータ

パラメータ 説明
設定 MemoryCacheSettings(メモリ キャッシュ設定)

戻り値:

MemoryLocalCache

memoryLruGarbageCollector(設定)

MemoryLruGarbageCollector のインスタンスを作成します。

ターゲット サイズは、設定パラメータの一部として指定できます。キャッシュ サイズが指定されたサイズを超えると、コレクタによってドキュメントの削除が開始されます。デフォルトのキャッシュ サイズは 40 MB(40 * 1,024 * 1,024 バイト)です。

署名:

export declare function memoryLruGarbageCollector(settings?: {
    cacheSizeBytes?: number;
}): MemoryLruGarbageCollector;

パラメータ

パラメータ 説明
設定 { cacheSizeBytes?: number;}

戻り値:

MemoryLruGarbageCollector

PersistentLocalCache(settings)

PersistentLocalCache のインスタンスを作成します。インスタンスを FirestoreSettings.cache に設定すると、使用するキャッシュ レイヤを SDK に指示できます。

Node.js 環境では、永続キャッシュを使用できません。

署名:

export declare function persistentLocalCache(settings?: PersistentCacheSettings): PersistentLocalCache;

パラメータ

パラメータ 説明
設定 PersistentCacheSettings

戻り値:

PersistentLocalCache

PersistentSingleTabManager(settings)

PersistentSingleTabManager のインスタンスを作成します。

署名:

export declare function persistentSingleTabManager(settings: PersistentSingleTabManagerSettings | undefined): PersistentSingleTabManager;

パラメータ

パラメータ 説明
設定 PersistentSingleTabManagerSettings |未定義 作成したタブ マネージャーを設定します。

戻り値:

PersistentSingleTabManager

関数(スナップショット、...)

endAt(スナップショット)

指定されたドキュメント(両端を含む)で終了するように結果セットを変更する QueryEndAtConstraint を作成します。終了位置は、クエリの順序に相対的です。ドキュメントには、クエリの orderBy で指定されたすべてのフィールドが含まれている必要があります。

署名:

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

パラメータ

パラメータ 説明
スナップショット DocumentSnapshot<AppModelType、DbModelType> 終了するドキュメントのスナップショット。

戻り値:

QueryEndAtConstraint

query() に渡す QueryEndAtConstraint

endBefore(スナップショット)

指定したドキュメント(排他的)の前に終了するように結果セットを変更する QueryEndAtConstraint を作成します。終了位置は、クエリの順序に相対的です。ドキュメントには、クエリの orderBy で指定されたすべてのフィールドが含まれている必要があります。

署名:

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

パラメータ

パラメータ 説明
スナップショット DocumentSnapshot<AppModelType、DbModelType> 終了前に終了するドキュメントのスナップショット。

戻り値:

QueryEndAtConstraint

query() に渡す QueryEndAtConstraint

startAfter(スナップショット)

指定したドキュメント(含まない)の後に開始するように結果セットを変更する QueryStartAtConstraint を作成します。開始位置は、クエリの順序に相対的です。ドキュメントには、クエリの orderBy で指定されたすべてのフィールドが含まれている必要があります。

署名:

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

パラメータ

パラメータ 説明
スナップショット DocumentSnapshot<AppModelType、DbModelType> 開始後のドキュメントのスナップショット。

戻り値:

QueryStartAtConstraint

query() に渡す QueryStartAtConstraint

startAt(スナップショット)

指定されたドキュメント(両端を含む)から開始するように結果セットを変更する QueryStartAtConstraint を作成します。開始位置は、クエリの順序に相対的です。ドキュメントには、このクエリの orderBy で指定されたすべてのフィールドが含まれている必要があります。

署名:

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

パラメータ

パラメータ 説明
スナップショット DocumentSnapshot<AppModelType、DbModelType> 開始位置のドキュメントのスナップショット。

戻り値:

QueryStartAtConstraint

query() に渡す QueryStartAtConstraint

CACHE_SIZE_UNLIMITED

LRU ガベージ コレクションを無効にする必要があることを示すために使用される定数。この値は、Firestore インスタンスに渡される設定の cacheSizeBytes として設定します。

署名:

CACHE_SIZE_UNLIMITED = -1

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

集計フィールド タイプ

Firestore でサポートされているすべての AggregateField 型の結合。

署名:

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

AggregateSpecData

キーが AggregateSpec から取得され、その値は入力 AggregateSpec からの対応する AggregateField によって実行された集計の結果である型。

署名:

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 | {...}(オプションの prop で使用)や {a: A} | {b: B} などの共用体タイプを配布するために必要です。

このユースケースでは、T[K] は分散ではなく式として評価されるため、V を使用して RecordT[K] の共用体型を分散します。

https://www.typescriptlang.org/docs/handbook/advanced-types.html#distributive-conditional-types をご覧ください。

署名:

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

DocumentChangeType

DocumentChange のタイプには、「追加」、「削除」、「変更」があります。

署名:

export declare type DocumentChangeType = 'added' | 'removed' | 'modified';

FirestoreErrorCode

Firestore ステータス コードのセット。コードは、gRPC によって公開されているコードと同じです: https://github.com/grpc/grpc/blob/master/doc/statuscodes.md

可能な値: - 'cancelled': オペレーションはキャンセルされました(通常は呼び出し元によって)。- 'unknown': 不明なエラーまたは別のエラードメインからのエラーです。- 'invalid-argument': クライアントが無効な引数を指定しました。これは「failed-precondition」とは異なることに注意してください。「無効な引数」は、システムの状態に関係なく問題がある引数を示します(無効なフィールド名など)。- 'deadline-exceeded': 操作が完了する前に期限が切れました。システムの状態を変更するオペレーションの場合、オペレーションが正常に終了しても、このエラーが返されることがあります。たとえば、サーバーからの正常なレスポンスが、期限切れになるほど遅延していた可能性があります。- 'not-found': リクエストされたドキュメントは見つかりませんでした。- 'Already-exists': 作成しようとしたドキュメントがすでに存在します。- 'permission-denied': 呼び出し元には、指定された操作を実行する権限がありません。- 'resource-exhausted': 一部のリソースが不足しています。ユーザーごとの割り当て、またはファイル システム全体で容量が不足している可能性があります。- 'failed-precondition': システムがオペレーションの実行に必要な状態ではないため、オペレーションが拒否されました。- 'aborted': オペレーションは中止されました。通常は、トランザクションの中止などの同時実行の問題が原因です。- 'out-of-range': オペレーションが有効な範囲を超えて試行されました。- 'unImplemented': オペレーションが実装されていないか、サポートまたは有効化されていません。- 'internal': 内部エラーです。基になるシステムで予期される一部の不変条件が破損していることを意味します。これらのエラーのいずれかが表示される場合、何かが著しく壊れています。- 「unavailable」: サービスは現在利用できません。これは一時的な状態である可能性が高く、バックオフで再試行することで修正できます。- 'data-loss': 回復不能なデータの損失または破損。- 'unauthenticated': リクエストに、操作のための有効な認証情報がありません。

署名:

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

FirestoreLocalCache

サポートされているすべての SDK キャッシュ レイヤの共用体タイプ。

署名:

export declare type FirestoreLocalCache = MemoryLocalCache | PersistentLocalCache;

ListenSource

クエリがリッスンするソースを記述します。

キャッシュとサーバーの両方の変更をリッスンするには、default に設定します。キャッシュ内の変更のみをリッスンするには、cache に設定します。

署名:

export declare type ListenSource = 'default' | 'cache';

MemoryGarbageCollector

メモリ ローカル キャッシュのガベージ コレクタをサポートするすべての統合タイプ。

署名:

export declare type MemoryGarbageCollector = MemoryEagerGarbageCollector | MemoryLruGarbageCollector;

ネストされた更新フィールド

各フィールド(「bar」など)で、ネストされたキーをすべて検索します(例: {'bar.baz': T1, 'bar.qux': T2})。それらのキーを組み合わせて 1 つのマップを作成します。このマップには、オプションとして指定されているキーをすべて含めます。

署名:

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

OrderByDirection

orderBy() 句の方向は「desc」として指定されます。または「asc」(降順または昇順)。

署名:

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

PartialWithFieldValue

TypeScript の Partial<T> に似ていますが、ネストされたフィールドを省略し、FieldValues をプロパティ値として渡すことができます。

署名:

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

PersistentTabManager

利用可能なすべてのタブ マネージャーをまとめたものです。

署名:

export declare type PersistentTabManager = PersistentSingleTabManager | PersistentMultipleTabManager;

基本ロール

プリミティブ型。

署名:

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

QueryConstraintType

この SDK で使用できるさまざまなクエリ制約について説明します。

署名:

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

QueryFilterConstraints

QueryFilterConstraint は、QueryFieldFilterConstraintQueryCompositeFilterConstraint を表すヘルパー ユニオン型です。

署名:

export declare type QueryFilterConstraint = QueryFieldFilterConstraint | QueryCompositeFilterConstraint;

QueryNonFilterConstraint

QueryNonFilterConstraint は、QueryConstraints を表すヘルパー ユニオン型です。これは、ドキュメント セットの絞り込みまたは並べ替えに使用されますが、ドキュメント フィールドで明示的にフィルタリングすることはありません。QueryNonFilterConstraint は、orderBy()startAt()startAfter()endBefore()endAt()limit()、または limitToLast() の呼び出しで作成し、query() を含む新しいクエリ インスタンスを作成できます。QueryConstraint

署名:

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

SetOptions

setDoc() の動作を設定して呼び出すオプション オブジェクト。これらの呼び出しは、SetOptionsmerge: true を指定することで、ターゲット ドキュメント全体を上書きするのではなく、詳細なマージを実行するように構成できます。

署名:

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

タスクの状態

バンドル読み込みタスクの状態を表します。

「エラー」とおよび「Success」シンク状態: タスクは中止または完了し、報告後は更新がそれ以上行われなくなります。

署名:

export declare type TaskState = 'Error' | 'Running' | 'Success';

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-union-type-to-intersection-type

署名:

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

データの更新

値にマッピングされたフィールドパス(「foo」や「foo.baz」など)で構成されるデータを更新します(updateDoc() で使用)。ドットを含むフィールドは、ドキュメント内のネストされたフィールドを参照します。FieldValues はプロパティ値として渡すことができます。

署名:

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

WhereFilterOp

where() 句のフィルタ条件は、文字列「&lt;」、「&lt;='、==」、「!='」、「&gt;='」、「&gt;」、「array-contains」、「in」、「array-contains-any」、「not-in」を使用して指定します。

署名:

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

WithFieldValue

型の安全性を維持しながら FieldValues をプロパティ値として渡すことができます。

署名:

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