组合多个键以在 Cosmos db 中创建合成分区键
Combining multiple keys to create a Synthetic partition key in Cosmos db
我正在使用以下代码在 Cosmos Db 中上传我的文档,我需要一个分区键,我必须通过组合两个键来创建它。在这种情况下,它将是 TypeId 和 Cvalue。我想知道如何在下面的代码中创建合成分区键。谢谢
var content = JsonConvert.DeserializeObject<JObject>( lines );
var client = new DocumentClient( new Uri( DbInstance ),Key );
await client.CreateDocumentAsync(UriFactory.CreateDocumentCollectionUri(
Database, Collection ),
content);
"Classes": {
"Subjects": {
"Name": "testA",
"TypeId": "AS88QW",
"Public": "No"
},
"Sections": {
"Scopes": true,
"CValue": [12,12,1]
}
}
您不能直接将多个不同的属性指定为组合的合成分区键。您需要自己将其组合成另一个 属性。在您的情况下,您将创建一个新的 属性,它结合了 Classes.Subjects.TypeId
和 Classes.Subjects.CValue
。然后可以将新的 属性(无论您决定如何称呼它)指定为您的分区键。
请注意,这里没有任何自动操作:您需要在创建文档时创建这个新的 属性。你需要弄清楚如何表示数组之类的东西(你的CValue
属性)——你想如何把它变成分区键值的一部分。
您可以找到有关合成分区键的更多信息here。
我正在使用以下代码在 Cosmos Db 中上传我的文档,我需要一个分区键,我必须通过组合两个键来创建它。在这种情况下,它将是 TypeId 和 Cvalue。我想知道如何在下面的代码中创建合成分区键。谢谢
var content = JsonConvert.DeserializeObject<JObject>( lines );
var client = new DocumentClient( new Uri( DbInstance ),Key );
await client.CreateDocumentAsync(UriFactory.CreateDocumentCollectionUri(
Database, Collection ),
content);
"Classes": {
"Subjects": {
"Name": "testA",
"TypeId": "AS88QW",
"Public": "No"
},
"Sections": {
"Scopes": true,
"CValue": [12,12,1]
}
}
您不能直接将多个不同的属性指定为组合的合成分区键。您需要自己将其组合成另一个 属性。在您的情况下,您将创建一个新的 属性,它结合了 Classes.Subjects.TypeId
和 Classes.Subjects.CValue
。然后可以将新的 属性(无论您决定如何称呼它)指定为您的分区键。
请注意,这里没有任何自动操作:您需要在创建文档时创建这个新的 属性。你需要弄清楚如何表示数组之类的东西(你的CValue
属性)——你想如何把它变成分区键值的一部分。
您可以找到有关合成分区键的更多信息here。