QueryIterator class
QueryIterator オブジェクトを表します。これは、Azure Cosmos DB データベース サービスでのトラバーサルと反復処理を可能にするフィードまたはクエリ応答の実装です。
メソッド
fetch |
クエリのすべてのページをフェッチし、1 つの FeedResponse を返します。 |
fetch |
フィードから次のバッチを取得します。 これは、設定とクエリの種類に応じて、バックエンドからより多くのページをフェッチする場合とそうでない場合があります。 通常、集計クエリは、応答の最初のバッチを返す前にすべてのバックエンド ページをフェッチします。 |
get |
完了するまで結果を生成する非同期反復子を取得します。 注: AsyncIterator は非常に新しい機能であり、コードで使用するには polyfils などを使用する必要がある場合があります。 TypeScript を使用している場合は、ES6 以降をターゲットとし、ノード 6 以降で実行している限り、次のポリフィルを使用できます。
例 すべてのデータベースを反復処理する
|
has |
継続トークンの値または QueryIterator の現在のバッチに残っている要素に基づいて、処理するリソースがまだ残っているかどうかを確認します。 |
reset() | QueryIterator を先頭にリセットし、その中のすべてのリソースをクリアする |
メソッドの詳細
fetchAll()
クエリのすべてのページをフェッチし、1 つの FeedResponse を返します。
function fetchAll(): Promise<FeedResponse<T>>
戻り値
Promise<FeedResponse<T>>
fetchNext()
フィードから次のバッチを取得します。
これは、設定とクエリの種類に応じて、バックエンドからより多くのページをフェッチする場合とそうでない場合があります。 通常、集計クエリは、応答の最初のバッチを返す前にすべてのバックエンド ページをフェッチします。
function fetchNext(): Promise<FeedResponse<T>>
戻り値
Promise<FeedResponse<T>>
getAsyncIterator()
完了するまで結果を生成する非同期反復子を取得します。
注: AsyncIterator は非常に新しい機能であり、コードで使用するには polyfils などを使用する必要がある場合があります。
TypeScript を使用している場合は、ES6 以降をターゲットとし、ノード 6 以降で実行している限り、次のポリフィルを使用できます。
if (!Symbol || !Symbol.asyncIterator) {
(Symbol as any).asyncIterator = Symbol.for("Symbol.asyncIterator");
}
例
すべてのデータベースを反復処理する
for await(const { resources: db } of client.databases.readAll().getAsyncIterator()) {
console.log(`Got ${db} from AsyncIterator`);
}
function getAsyncIterator(): AsyncIterable<FeedResponse<T>>
戻り値
AsyncIterable<FeedResponse<T>>
hasMoreResults()
継続トークンの値または QueryIterator の現在のバッチに残っている要素に基づいて、処理するリソースがまだ残っているかどうかを確認します。
function hasMoreResults(): boolean
戻り値
boolean
QueryIterator で処理する他の要素がある場合は true。
reset()
QueryIterator を先頭にリセットし、その中のすべてのリソースをクリアする
function reset()