在 Azure Cosmos 中跨多个集合查询记录
Query Records Across Multiple Collections in Azure Cosmos
是否可以使用 SQL Rest API 在 Azure Cosmos 中跨多个集合查询记录?
我会注意到我正在使用 jupitern/cosmosdb,它只是 SQL Rest API 的一个方便的包装器。我无法在 Microsoft 的网站上找到任何表明这是可能的文档,但我希望社区中的某些人可能有不同的认识。
我觉得我在这里唯一的课程是一次查询一个集合,并在我这边编译结果,基于 Query Documents 文档证明 URI 需要作为参数的特定集合 ID:
https://{databaseaccount}.documents.azure.com/dbs/{db-id}/colls/{coll-id}/docs
这是我当前如何使用该包装器库查询 Cosmos 的示例:
# connect to cosmos
$conn = new Cosmos(AZURE_COSMOS_HOST, AZURE_COSMOS_KEY);
$conn->setHttpClientOptions(['verify' => false]);
$db = $conn->selectDB("Example");
$coll = $db->selectCollection("Test");
# query records
try {
$res = Query::instance()
->setCollection($coll)
->select("*")
->findAll()
->toArray();
} catch (Exception $e) {
return $response->withJson($e->getMessage());
}
Is it possible to query records across multiple collections in Azure
Cosmos, using the SQL Rest API?
对您的问题的简单回答是否定的。无法跨多个集合查询记录。您将需要针对每个集合分别发出单独的查询,并在客户端处理结果。
是否可以使用 SQL Rest API 在 Azure Cosmos 中跨多个集合查询记录?
我会注意到我正在使用 jupitern/cosmosdb,它只是 SQL Rest API 的一个方便的包装器。我无法在 Microsoft 的网站上找到任何表明这是可能的文档,但我希望社区中的某些人可能有不同的认识。
我觉得我在这里唯一的课程是一次查询一个集合,并在我这边编译结果,基于 Query Documents 文档证明 URI 需要作为参数的特定集合 ID:
https://{databaseaccount}.documents.azure.com/dbs/{db-id}/colls/{coll-id}/docs
这是我当前如何使用该包装器库查询 Cosmos 的示例:
# connect to cosmos
$conn = new Cosmos(AZURE_COSMOS_HOST, AZURE_COSMOS_KEY);
$conn->setHttpClientOptions(['verify' => false]);
$db = $conn->selectDB("Example");
$coll = $db->selectCollection("Test");
# query records
try {
$res = Query::instance()
->setCollection($coll)
->select("*")
->findAll()
->toArray();
} catch (Exception $e) {
return $response->withJson($e->getMessage());
}
Is it possible to query records across multiple collections in Azure Cosmos, using the SQL Rest API?
对您的问题的简单回答是否定的。无法跨多个集合查询记录。您将需要针对每个集合分别发出单独的查询,并在客户端处理结果。