我通过门户网站在Cosmos上创建了一个分片集合(用于C#MongoDB驱动程序) . 使用数据资源管理器创建 - >新建集合 - 此时设置了碎片密钥 .
我已将分片键设置为 partitionId .
partitionId
作为尝试将此文档插入名为“data”的集合中的示例:
db.data.insert({partitionId:"test"})
我收到错误 Command insert failed: document does not contain shard key.
Command insert failed: document does not contain shard key.
Edit:
使用门户创建分片集合时似乎存在问题 . 手动创建分片集合应该有效,请参阅:https://stackoverflow.com/a/48202411/5405453
Original:
来自the docs:
分片键确定集群的分片中集合文档的分布 . 分片键是集合中每个文档中存在的索引字段或索引复合字段 .
在创建分片集合时,您提供了一个应该用作分片键的键 . 接下来,如果您插入文档,则必须包含该密钥 . 见here .
1 回答
Edit:
使用门户创建分片集合时似乎存在问题 . 手动创建分片集合应该有效,请参阅:https://stackoverflow.com/a/48202411/5405453
Original:
来自the docs:
在创建分片集合时,您提供了一个应该用作分片键的键 . 接下来,如果您插入文档,则必须包含该密钥 . 见here .