如何获取&;在javascript中设置Cosmos Db延续标记
使用用于CosmosDb的V2 Javascript SDK,我从数据库中获得了前10项:如何获取&;在javascript中设置Cosmos Db延续标记,javascript,azure-cosmosdb,Javascript,Azure Cosmosdb,使用用于CosmosDb的V2 Javascript SDK,我从数据库中获得了前10项: var query = "SELECT TOP 10 * FROM People" const querySpec = { query: query }; var result = await container.items.query(querySpec).toArray(); 如何获取接下来10个结果的延续标记,以及如何在下一次查询中设置它?Emre。请参考我的工作示例代码: const
var query = "SELECT TOP 10 * FROM People"
const querySpec = {
query: query
};
var result = await container.items.query(querySpec).toArray();
如何获取接下来10个结果的延续标记,以及如何在下一次查询中设置它?Emre。请参考我的工作示例代码:
const cosmos = require('@azure/cosmos');
const CosmosClient = cosmos.CosmosClient;
const endpoint = "https://***.documents.azure.com:443/"; // Add your endpoint
const masterKey = "***"; // Add the masterkey of the endpoint
const client = new CosmosClient({ endpoint, auth: { masterKey } });
const databaseId = "db";
const containerId = "coll";
async function run() {
const { container, database } = await init();
const querySpec = {
query: "SELECT r.id,r._ts FROM root r"
};
const queryOptions = {
maxItemCount : 1
}
const queryIterator = await container.items.query(querySpec,queryOptions);
while (queryIterator.hasMoreResults()) {
const { result: results, headers } = await queryIterator.executeNext();
console.log(results)
console.log(headers)
if (results === undefined) {
// no more results
break;
}
}
}
async function init() {
const { database } = await client.databases.createIfNotExists({ id: databaseId });
const { container } = await database.containers.createIfNotExists({ id: containerId });
return { database, container };
}
run().catch(err => {
console.error(err);
});
您可以在console.log(headers)
中找到延续令牌
有关详情,请参阅
更新答案: 请参考我的示例函数:
async function queryItems1(continuationToken) {
const { container, database } = await init();
const querySpec = {
query: "SELECT r.id,r._ts FROM root r"
};
const queryOptions = {
maxItemCount : 2,
continuation : continuationToken
};
const queryIterator = await container.items.query(querySpec,queryOptions);
if (queryIterator.hasMoreResults()) {
const { result: results, headers } = await queryIterator.executeNext();
console.log(results)
const token = headers['x-ms-continuation'];
if(token){
await queryItems1(token);
}
}
}
谢谢我在看样品,但是你贴在这里的那篇文章不在那个档案里。我需要能够将延续令牌发送到客户端,然后在下一个请求中设置它。我该怎么做?我需要能够准确地为google datastore@EmreKenci执行此处显示的操作。请查看我的更新答案。我测试它成功地记录了数据。完美。谢谢你,杰。