Azure cosmosdb 我应该为子文档使用_SelfLink吗
在构建文档结构时,让我们假设我们有两种文档:Person和Pet。两者都可以是单独的文档,同时宠物也可以是个人收藏的宠物 如果Pets集合中的子文档是一种更简单的类型,那么如果我需要查找原始Pet文档(这是其中的一个子集),那么包含原始Pet中的自链接是否是一个好主意 这是在CosmosDb中查找文档的最有效方法,还是应该只使用其ID和已知文档集合 自链接是数据库帐户中每个资源的静态可寻址Uri,遵循Azure Cosmos DB资源模型。 例如,文档的自链接可以是dbs/db_resourceid/colls/coll_resourceid/documents/doc_resourceid 当您查看SelfLink的内容时,差异相当有限。它包含id、集合和数据库。如果您知道id和集合,那么无论哪种情况,您都可能能够有效地找到文档,因为您可以重建SelfLink 我的建议是使用单独的字段,而不是SelfLink。对于未来的用例来说,这可能是较少的工程工作。原因是它将允许您执行以下操作: 无需构建复杂的查询链接(如通过collectionId或pet id)即可更轻松地进行查询 将数据迁移到新数据库更新数据会更容易一些Azure cosmosdb 我应该为子文档使用_SelfLink吗,azure-cosmosdb,Azure Cosmosdb,在构建文档结构时,让我们假设我们有两种文档:Person和Pet。两者都可以是单独的文档,同时宠物也可以是个人收藏的宠物 如果Pets集合中的子文档是一种更简单的类型,那么如果我需要查找原始Pet文档(这是其中的一个子集),那么包含原始Pet中的自链接是否是一个好主意 这是在CosmosDb中查找文档的最有效方法,还是应该只使用其ID和已知文档集合 自链接是数据库帐户中每个资源的静态可寻址Uri,遵循Azure Cosmos DB资源模型。 例如,文档的自链接可以是dbs/db_resource
然而,两者之间的差别很小。如果您引用的是更外部的资源,或者您将数据分散到多个集合中,并且需要通过selflink进行非常高效的查询,我只会使用链接。我明白了这一点,并且看到了仅使用文档ID的一些好处。谢谢你的意见