【发布时间】:2022-06-10 19:53:36
【问题描述】:
我正在为 Cosmos DB 容器创建预触发器。预触发器应该获取与触发文档 ID 相关的所有数据。当预期有超过 100 个文档时,incoming_document.items 总是返回 100(这似乎受到查询的限制)。我尝试在 FeedOptions 参数中将 pageSize 属性设置为 -1 并使用 continuation,但它仍然给我 100。我该如何解决这个问题以给出总数?
这里是简化版的代码(没有续,我用了和here类似的代码):
function trgAddStats() {
var context = getContext();
var request = context.getRequest();
var incoming_document = request.getBody();
var container = context.getCollection();
var incoming_document.items = 1;
var filterQuery = {
"query": `SELECT t.customer, t.amount FROM Transactions_ds t WHERE t.customer = @customer`,
"parameters": [{
"name": "@customer",
"value": incoming_document.customer
}
]
};
var isAccepted = container.queryDocuments(container.getSelfLink(), filterQuery, {},
function (err, items, responseOptions) {
if (err) throw new Error("Error" + err.message);
incoming_document.items += items.length;
request.setBody(incoming_document);
}
);
if (!isAccepted) throw "Unable to update transaction, abort";
}
【问题讨论】:
-
你应该在 feedoptions 中设置
maxItemCount。