你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
QueryIterator class
表示 QueryIterator 对象,该对象是源或查询响应的实现,用于在 Azure Cosmos DB 数据库服务中遍历和循环访问响应。
方法
fetch |
提取查询的所有页面并返回单个 FeedResponse。 |
fetch |
从源中检索下一批。 这可能或可能不会根据设置和查询类型从后端提取更多页面。 聚合查询通常会在返回第一批响应之前提取所有后端页面。 |
get |
获取一个异步迭代器,它将在完成之前生成结果。 注意:AsyncIterator 是一项非常新功能,可能需要使用 polyfils/etc,才能在代码中使用它们。 如果使用 TypeScript,只要面向 ES6 或更高版本且在 Node 6 或更高版本上运行,就可以使用以下填充。
示例 循环访问所有数据库
|
has |
根据继续标记的值或 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()