QueryIterator class
Stellt ein QueryIterator-Objekt dar, eine Implementierung von Feed- oder Abfrageantworten, die das Durchlaufen und Durchlaufen der Antwort im Azure Cosmos DB-Datenbankdienst ermöglicht.
Methoden
fetch |
Rufen Sie alle Seiten für die Abfrage ab, und geben Sie einen einzelnen FeedResponse zurück. |
fetch |
Rufen Sie den nächsten Batch aus dem Feed ab. Dies kann abhängig von Ihren Einstellungen und dem Abfragetyp mehrere Seiten aus dem Back-End abrufen oder nicht. Aggregierte Abfragen rufen in der Regel alle Back-End-Seiten ab, bevor der erste Antwortbatch zurückgegeben wird. |
get |
Ruft einen asynchronen Iterator ab, der bis zum Abschluss Ergebnisse liefert. HINWEIS: AsyncIterators sind ein sehr neues Feature, und Möglicherweise müssen Sie polyfils/etc. verwenden, um sie in Ihrem Code verwenden zu können. Wenn Sie TypeScript verwenden, können Sie den folgenden Polyfill verwenden, solange Sie es6 oder höher als Ziel verwenden und auf Knoten 6 oder höher ausgeführt werden.
Beispiel Durchlaufen aller Datenbanken
|
has |
Ermitteln Sie anhand des Werts des Fortsetzungstokens oder der im aktuellen Batch im QueryIterator verbleibenden Elemente, ob noch verbleibende Ressourcen zur Verarbeitung vorhanden sind. |
reset() | Setzen Sie den QueryIterator auf den Anfang zurück, und löschen Sie alle darin enthaltenen Ressourcen. |
Details zur Methode
fetchAll()
Rufen Sie alle Seiten für die Abfrage ab, und geben Sie 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 abhängig von Ihren Einstellungen und dem Abfragetyp mehrere Seiten aus dem Back-End abrufen oder nicht. Aggregierte Abfragen rufen in der Regel alle Back-End-Seiten ab, bevor der erste Antwortbatch zurückgegeben wird.
function fetchNext(): Promise<FeedResponse<T>>
Gibt zurück
Promise<FeedResponse<T>>
getAsyncIterator()
Ruft einen asynchronen Iterator ab, der bis zum Abschluss Ergebnisse liefert.
HINWEIS: AsyncIterators sind ein sehr neues Feature, und Möglicherweise müssen Sie polyfils/etc. verwenden, um sie in Ihrem Code verwenden zu können.
Wenn Sie TypeScript verwenden, können Sie den folgenden Polyfill verwenden, solange Sie es6 oder höher als Ziel verwenden und auf Knoten 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 anhand des Werts des Fortsetzungstokens oder der im aktuellen Batch im QueryIterator verbleibenden Elemente, ob noch verbleibende Ressourcen zur Verarbeitung vorhanden sind.
function hasMoreResults(): boolean
Gibt zurück
boolean
true, wenn andere Elemente im QueryIterator verarbeitet werden müssen.
reset()
Setzen Sie den QueryIterator auf den Anfang zurück, und löschen Sie alle darin enthaltenen Ressourcen.
function reset()