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
fetch |
Ruft alle Seiten für die Abfrage ab und gibt einen einzelnen FeedResponse zurück. |
fetch |
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. |
get |
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.
Beispiel Durchlaufen aller Datenbanken
|
has |
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()