Azure DocumentDB存储过程queryDocument不返回任何内容

Azure DocumentDB存储过程queryDocument不返回任何内容,azure,azure-cosmosdb,Azure,Azure Cosmosdb,我修改原始存储过程以显示问题。不知何故,我很难从收藏中取回这些文件。现在,我只是尝试按id获取文档,但它仍然无法这样做。我总是收到“真错误”消息,这意味着没有文档。但是,当我在查询窗口中运行查询时,返回的文档没有任何问题。我真的不知道会是什么问题。下面是我的代码。谢谢你的帮助 function removeDisconnectedUserFromAllRooms(connectionID){ var collection = getContext().getCollection(); var c

我修改原始存储过程以显示问题。不知何故,我很难从收藏中取回这些文件。现在,我只是尝试按id获取文档,但它仍然无法这样做。我总是收到“真错误”消息,这意味着没有文档。但是,当我在查询窗口中运行查询时,返回的文档没有任何问题。我真的不知道会是什么问题。下面是我的代码。谢谢你的帮助

function removeDisconnectedUserFromAllRooms(connectionID){
var collection = getContext().getCollection();
var collectionLink = collection.getSelfLink();
var response = getContext().getResponse();
var nodesBatch = [];

if (!connectionID) throw new Error("The id is undefined or null.");

var query = {query: "select * from rooms where rooms.RoomID = @connectionID", parameters: [{name: "@connectionID", value: connectionID}]};

var isAccepted = collection.queryDocuments(collectionLink, query, function (err, documents, options) {

if (err) throw err;

 if (documents.length > 0) {
           response.setBody(documents.length);
        } 
        else if (options.continuation){
             response.setBody("has token");
        }
        else {
            // Else a document with the given id does not exist..
            response.setBody("true error");
        }
    });
}
if(!isAccepted) {
throw new Error("The stored procedure timed out.");
}
}

您的代码中似乎有一些语法错误。我们可以从Azure门户测试存储的进程,当使用您提到的代码时,我得到了以下错误信息

请尝试使用下面的代码再次测试,它在我这方面起作用

function removeDisconnectedUserFromAllRooms(connectionID){
var collection = getContext().getCollection();
var collectionLink = collection.getSelfLink();
var response = getContext().getResponse();
var nodesBatch = [];

if (!id) throw new Error("The id is undefined or null.");

var query = {query: "select * from rooms where rooms.RoomId= @connectionID", parameters: [{name: "@connectionID", value: connectionID}]};

var isAccepted = collection.queryDocuments(collectionLink, query, function (err, documents, options) {

if (err) throw err;

 if (documents.length > 0) {
           response.setBody(documents.length);
        } 
        else if (options.continuation){
             response.setBody("has token");
        }
        else {
            // Else a document with the given id does not exist..
            response.setBody("true error");
        }
    });
    if(!isAccepted) {
throw new Error("The stored procedure timed out.");
}
}
注意:字段名在documentdb的sql查询中区分大小写


我也面临同样的问题。你能解决它吗?