存储过程没有return任何文件

Stored procedure does not return any documents

我正在尝试在我的 cosmos 数据库中创建一个非常简单的存储过程。目前,我只是根据文档的 Id 查询文档,如下所示:

    function sample(id) {
        var context = getContext();
        var collection = context.getCollection();
        var collectionLink = collection.getSelfLink();
        var response = context.getResponse();
        executeQuery();

        function executeQuery() {
            var query = "select * from groups c where c.id = "+ id
            var isAccepted = collection.queryDocuments(collectionLink, query, {}, function (err, documents, responseOptions) {
                if (err) throw new Error("Error" + err.message);
                if (documents.length > 0) {
                    console.log("found")
                }
                else {
                    console.log("nothing")
                }
            })
        }


    }

由于某种原因,上面的程序没有return任何文件。我不确定上面缺少什么。我仔细检查了 id 是否存在。

此外,我只是在门户中执行程序 - 它告诉我指定一个分区键 - 但输入 id 不会影响任何东西(Id 是我的分区键)

正如官方 MS 文档中明确指出的那样:How to run stored procedures

For partitioned containers, when executing a stored procedure, a partition key value must be provided in the request options. Stored procedures are always scoped to a partition key. Items that have a different partition key value will not be visible to the stored procedure.

检查这个例子:

其中 MyidValue 将是 Hyderabad 如果您考虑下面的示例项目,分区键为 /city.

因为您有 id 作为分区键,您可以将 MyidValue 指定为 1参考上面的例子。

注意:因为存储过程的作用域是逻辑分区。如果您有多个逻辑分区,则只能访问 1 个项目。

更多详情如下:How to write stored procedures, How to run stored procedures