You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用DocumentClient创建带PartitionKey的CosmosDB集合?

在DocumentClient中创建带分区键的Cosmos DB集合

嗨,我来帮你搞定这个问题!你当前的代码已经完成了大部分工作,只需要在DocumentCollection实例里添加分区键的定义即可——这和你在模拟器里指定属性名的逻辑是一致的,只是代码里需要用PartitionKeyDefinition来明确配置。

修改后的完整代码

await client.CreateDocumentCollectionAsync(
    UriFactory.CreateDatabaseUri(databaseId),
    new DocumentCollection
    {
        Id = collectionId,
        // 这里添加分区键配置
        PartitionKey = new PartitionKeyDefinition
        {
            Paths = new System.Collections.ObjectModel.Collection<string> { "/你的属性名" }
        }
    },
    new RequestOptions { OfferThroughput = 1000 }
);

关键细节说明

  • 把/你的属性名替换成你实体类里实际要作为分区键的属性路径,比如你的实体有个UserId属性,就写"/UserId"——这个路径的格式和你在Cosmos DB模拟器里输入的属性名对应,只是需要加上前缀/。
  • PartitionKeyDefinition.Paths是一个集合,因为Cosmos DB支持复合分区键(不过大部分场景用单分区键就够了)。
  • 分区键一旦创建就无法修改,所以确定好之后再执行创建操作哦。

额外提示

如果你之后打算升级到新的Cosmos DB SDK(Microsoft.Azure.Cosmos NuGet包),写法会更简洁,但针对你现在用的DocumentClient(旧SDK),上面的代码完全可以解决问题。

内容的提问来源于stack exchange,提问作者Larry R

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 08:12:40