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