尝试从节点查询documentDB时,请求URL无效

时间:2017-01-12 08:08:56

标签: node.js azure azure-cosmosdb

我正在使用节点sdk作为文档数据库,我可以使用以下代码成功列出集合中的所有文档:

collectionUrl = "dbs/dbName/colls/Membership"
this.client.readDocuments(this.collectionUrl).toArray(callback)

但是当我尝试使用以下代码查询数据时,它失败了:

querySpec = {
  query: 'SELECT * FROM root r '
};
this.client.queryCollections(this.collectionUrl,this.querySpec).toArray(callback)

错误消息是:

 body:"{"code":"BadRequest","message":"Request url is invalid.\r\nActivityId: 532e52d2-7e97-41d4-8b07-a5fb19de88da"}"
 code:400

知道为什么这是我执行查询所需要做的事情吗?

1 个答案:

答案 0 :(得分:2)

我发现您使用queryCollections函数来查询文档。请尝试使用: 而是this.client.queryDocuments(this.collectionUrl,this.querySpec).toArray(callback)

如果您想在数据库中查询collections,请使用databaseLink代替collectionUrldbs/dbName应该是data。您可以参考https://github.com/Azure/azure-documentdb-node/blob/master/source/lib/documentclient.js#L813获取源代码。

有关详细信息,请参阅https://docs.microsoft.com/en-us/azure/documentdb/documentdb-nodejs-get-started#a-idqueryastep-8-query-documentdb-resources