CosmosDB Join(SQL API)

Pan*_*wat 2 azure azure-cosmosdb

我正在使用SQL API使用CosmosDB,并且试图合并两个集合。我在文档中看到了join示例,但没有得到实际的外观。

请求日志

{
"DateTimeStamp": "2018-03-16T10:56:52.1411006Z",
"RequestId": "8ce80648-66e2-4357-98a8-7a71e8b65301",
"IPAddress": "0.0.0.173"
}
Run Code Online (Sandbox Code Playgroud)

响应日志

{
"DateTimeStamp": "2018-03-16T10:56:52.1411006Z",
"RequestId": "8ce80648-66e2-4357-98a8-7a71e8b65301",
"Body": "Hello"
}
Run Code Online (Sandbox Code Playgroud)

是否可以同时加入这两个系列?怎么样?

Saj*_*ran 6

实际上,Cosmos DB JOIN操作仅限于单个文档的范围。您可以在同一文档下将父对象与子对象连接在一起。

支持跨文档联接,因此您必须自己实现此类查询。


Jes*_*ter 5

不可能跨 Cosmos 中的多个集合编写联接查询,甚至不可能跨单个集合中的多个文档编写联接查询。这里唯一的选择是发出单独的查询(最好是并行),或者如果您的文档一起存在于同一个集合中,您可以使用公共 RequestId 属性检索请求的所有相关日志。

SELECT * from c WHERE c.RequestId = '8ce80648-66e2-4357-98a8-7a71e8b65301'

仅当文档中的对象结构相同时,这才有效。在此示例中,这是可能的,因为它们都共享一个名为 的同名属性RequestId。您不能对任意属性执行 JOIN。