CosmosDB:如何在存储过程中迭代查询中的所有文档?

时间:2017-08-23 10:13:25

标签: stored-procedures azure-cosmosdb

我想在存储过程中处理文档,如何将它们作为javascript对象获取。

到目前为止我尝试的是使用以下存储过程获取所有文档的最简单查询:

function sample(prefix) {
    var collection = getContext().getCollection();

    var isAccepted = collection.queryDocuments(
        collection.getSelfLink(),
        'SELECT COUNT(1) FROM root r',
        function (err, feed1, options) {
            if (err) throw err;

            // Try to get all documents to model further processing in javascript.
            var isAccepted2 = collection.queryDocuments(
                collection.getSelfLink(),
                'SELECT * FROM root r',
                { maxItemCount: -1, pageSize: -1, enableCrossPartitionQuery: true },
                function (err, feed2, options) {
                    if (err) throw err;

                    getContext().getResponse().setBody(
                        "feed1[0]: " + JSON.stringify(feed1[0]) +
                        ", feed2.length: " + feed2.length);
                });
        });
}

我的第一个想法是feed2.length将反映该查询的文档总数,使我能够像数组一样迭代feed2,但事实并非如此,因为此存储过程返回以下输出:

feed1[0]: {"$1":8440}, feed2.length: 2791

我对第一个查询结果的解释是文档计数是8440.如何迭代存储过程javascript中的那些?

0 个答案:

没有答案