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

问题描述 投票:0回答:1

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

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

我在这里得到的唯一理由是,一次查询一个集合,并根据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());
}
php azure cosmos
1个回答
1
投票

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

对你的问题的简单回答是否定的。无法跨多个集合查询记录。您需要单独针对每个集合发出单独的查询,并在客户端使用结果。

© www.soinside.com 2019 - 2024. All rights reserved.