如何在COSMOS db容器中实现自我联接

问题描述

我们在具有父子关系的容器中有文档,如果要传递内部文件夹id(FolderId = 3),我想加入这些项目,它也应该返回所有父项。

项目1 { “ FolderId”:“ 1”, “ FolderName”:“文件夹1”, “ ParentFolderId”:null }

项目2 { “ FolderId”:“ 2”, “ FolderName”:“文件夹2”, “ ParentFolderId”:1 }

项目3 { “ FolderId”:“ 3”, “ FolderName”:“文件夹3”, “ ParentFolderId”:2 }

解决方法

您基本上是在尝试将Cosmos DB中的多个文档联接在一起。您需要通过将所有父子关系包含在单个文档中来更改创建文档的方式,或者通过任何SDK在客户端获取所有文档,然后通过代码应用逻辑。

请参阅以下链接以获取更多详细信息:

  1. CosmosDB Join (SQL API)
  2. https://feedback.azure.com/forums/263030-azure-cosmos-db/suggestions/6611247-support-cross-document-joins