跨 Azure Cosmos 中的多个集合查询记录

Cra*_*ons 1 php azure cosmos

是否可以使用 SQL Rest API 跨 Azure Cosmos 中的多个集合查询记录?

我会注意到我使用的是jupitern/cosmosdb,它只是 SQL Rest API 的一个方便的包装器。我在微软网站上找不到任何表明这是可能的文档,但我希望社区中的某个人可能有不同的了解。

我觉得我在这里唯一的课程是一次查询一个集合,并根据查询文档文档演示 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());
}
Run Code Online (Sandbox Code Playgroud)

Gau*_*tri 5

是否可以使用 SQL Rest API 跨 Azure Cosmos 中的多个集合查询记录?

你的问题的简单答案是否定的。无法跨多个集合查询记录。您将需要分别对每个集合发出单独的查询,并在客户端处理结果。