Azure cosmosdb Cosmos DB SQL API Node.js-延续令牌
我使用以下代码来获取使用分页的文档列表。代码运行良好。但是如果我想从客户端发送延续令牌进行分页,那么如何找到延续令牌呢Azure cosmosdb Cosmos DB SQL API Node.js-延续令牌,azure-cosmosdb,Azure Cosmosdb,我使用以下代码来获取使用分页的文档列表。代码运行良好。但是如果我想从客户端发送延续令牌进行分页,那么如何找到延续令牌呢 function queryCollectionPaging() { return new Promise((resolve, reject) => { function executeNextWithRetry(iterator, callback) { iterator.executeNext(function (err,
function queryCollectionPaging() {
return new Promise((resolve, reject) => {
function executeNextWithRetry(iterator, callback) {
iterator.executeNext(function (err, results, responseHeaders) {
if (err) {
return callback(err, null);
}
else {
documents = documents.concat(results);
if (iterator.hasMoreResults()) {
executeNextWithRetry(iterator, callback);
}
else {
callback();
}
}
});
}
let options = {
maxItemCount: 1,
enableCrossPartitionQuery: true
};
let documents = []
let iterator = client.queryDocuments( collectionUrl, 'SELECT r.partitionkey, r.documentid, r._ts FROM root r WHERE r.partitionkey in ("user1", "user2") ORDER BY r._ts', options);
executeNextWithRetry(iterator, function (err, result) {
if (err) {
reject(err)
}
else {
console.log(documents);
resolve(documents)
}
});
});
}) 您可以在responseHeaders参数中找到continuation令牌,请尝试使用
responseHeaders['x-ms-continuation']
获取它
例如:
continuationToken = responseHeaders ['x-ms-continuation'];
然后可以将令牌作为参数传递给execute方法
let options = {
maxItemCount: 1,
enableCrossPartitionQuery: true,
continuation : continuationToken
};
如果continuationToken
为空,则表示不再有结果
您可以参考我以前的案例:
希望对你有帮助