你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

QueryIterator class

表示 QueryIterator 对象,该对象是源或查询响应的实现,用于在 Azure Cosmos DB 数据库服务中遍历和循环访问响应。

方法

fetchAll()

提取查询的所有页面并返回单个 FeedResponse。

fetchNext()

从源中检索下一批。

这可能或可能不会根据设置和查询类型从后端提取更多页面。 聚合查询通常会在返回第一批响应之前提取所有后端页面。

getAsyncIterator()

获取一个异步迭代器,它将在完成之前生成结果。

注意:AsyncIterator 是一项非常新功能,可能需要使用 polyfils/etc,才能在代码中使用它们。

如果使用 TypeScript,只要面向 ES6 或更高版本且在 Node 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`);
}
hasMoreResults()

根据继续标记的值或 QueryIterator 中当前批剩余的元素,确定是否仍有剩余的资源要处理。

reset()

将 QueryIterator 重置为开头并清除其中的所有资源

方法详细信息

fetchAll()

提取查询的所有页面并返回单个 FeedResponse。

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

返回

Promise<FeedResponse<T>>

fetchNext()

从源中检索下一批。

这可能或可能不会根据设置和查询类型从后端提取更多页面。 聚合查询通常会在返回第一批响应之前提取所有后端页面。

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

返回

Promise<FeedResponse<T>>

getAsyncIterator()

获取一个异步迭代器,它将在完成之前生成结果。

注意:AsyncIterator 是一项非常新功能,可能需要使用 polyfils/etc,才能在代码中使用它们。

如果使用 TypeScript,只要面向 ES6 或更高版本且在 Node 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

如果查询Iterator 中还有其他要处理的元素,则为 true。

reset()

将 QueryIterator 重置为开头并清除其中的所有资源

function reset()