Freigeben über


QueryIterator class

Stellt ein QueryIterator-Objekt dar, eine Implementierung der Feed- oder Abfrageantwort, die das Durchlaufen und Durchlaufen der Antwort im Azure Cosmos DB-Datenbankdienst ermöglicht.

Methoden

fetchAll()

Ruft alle Seiten für die Abfrage ab und gibt einen einzelnen FeedResponse zurück.

fetchNext()

Rufen Sie den nächsten Batch aus dem Feed ab.

Dies kann je nach Ihren Einstellungen und dem Abfragetyp mehr Seiten aus dem Back-End abrufen oder nicht. Aggregierte Abfragen rufen in der Regel alle Back-End-Seiten ab, bevor der erste Batch von Antworten zurückgegeben wird.

getAsyncIterator()

Ruft einen asynchronen Iterator ab, der Ergebnisse bis zum Abschluss liefert.

HINWEIS: AsyncIterators sind ein sehr neues Feature, und Möglicherweise müssen Sie polyfils/etc. verwenden, um sie in Ihrem Code zu verwenden.

Wenn Sie TypeScript verwenden, können Sie das folgende Polyfill verwenden, solange Sie ES6 oder höher als Ziel verwenden und auf Node 6 oder höher ausgeführt werden.

if (!Symbol || !Symbol.asyncIterator) {
  (Symbol as any).asyncIterator = Symbol.for("Symbol.asyncIterator");
}

Beispiel

Durchlaufen aller Datenbanken

for await(const { resources: db } of client.databases.readAll().getAsyncIterator()) {
  console.log(`Got ${db} from AsyncIterator`);
}
hasMoreResults()

Ermitteln Sie, ob noch verbleibende Ressourcen vorhanden sind, die basierend auf dem Wert des Fortsetzungstokens oder den Elementen im aktuellen Batch im QueryIterator verarbeitet werden sollen.

reset()

Setzen Sie den QueryIterator auf den Anfang zurück und löschen Sie alle darin enthaltenen Ressourcen.

Details zur Methode

fetchAll()

Ruft alle Seiten für die Abfrage ab und gibt einen einzelnen FeedResponse zurück.

function fetchAll(): Promise<FeedResponse<T>>

Gibt zurück

Promise<FeedResponse<T>>

fetchNext()

Rufen Sie den nächsten Batch aus dem Feed ab.

Dies kann je nach Ihren Einstellungen und dem Abfragetyp mehr Seiten aus dem Back-End abrufen oder nicht. Aggregierte Abfragen rufen in der Regel alle Back-End-Seiten ab, bevor der erste Batch von Antworten zurückgegeben wird.

function fetchNext(): Promise<FeedResponse<T>>

Gibt zurück

Promise<FeedResponse<T>>

getAsyncIterator()

Ruft einen asynchronen Iterator ab, der Ergebnisse bis zum Abschluss liefert.

HINWEIS: AsyncIterators sind ein sehr neues Feature, und Möglicherweise müssen Sie polyfils/etc. verwenden, um sie in Ihrem Code zu verwenden.

Wenn Sie TypeScript verwenden, können Sie das folgende Polyfill verwenden, solange Sie ES6 oder höher als Ziel verwenden und auf Node 6 oder höher ausgeführt werden.

if (!Symbol || !Symbol.asyncIterator) {
  (Symbol as any).asyncIterator = Symbol.for("Symbol.asyncIterator");
}

Beispiel

Durchlaufen aller Datenbanken

for await(const { resources: db } of client.databases.readAll().getAsyncIterator()) {
  console.log(`Got ${db} from AsyncIterator`);
}
function getAsyncIterator(): AsyncIterable<FeedResponse<T>>

Gibt zurück

AsyncIterable<FeedResponse<T>>

hasMoreResults()

Ermitteln Sie, ob noch verbleibende Ressourcen vorhanden sind, die basierend auf dem Wert des Fortsetzungstokens oder den Elementen im aktuellen Batch im QueryIterator verarbeitet werden sollen.

function hasMoreResults(): boolean

Gibt zurück

boolean

"true", wenn im QueryIterator andere Elemente verarbeitet werden sollen.

reset()

Setzen Sie den QueryIterator auf den Anfang zurück und löschen Sie alle darin enthaltenen Ressourcen.

function reset()