使用Azure Cosmos DB: MongoDB API创建文档时,我面临以下问题,这些问题因参数而异。
在创建集合UserProfile
时,我已使用分区键username
进行了创建。
请求1:-不带分区键
标题:
x-ms-documentdb-is-upsert: true
身体:
{"username": "test"}
问题:
x-ms-partitionkey标头中提供的分区键较少 组件比集合中定义的组件多。
请求2:-使用分区键
标题:
x-ms-documentdb-is-upsert: true
x-ms-documentdb-partitionkey: ["username"]
身体:
{"username": "test"}
问题:
指定的输入之一无效
Request3:-在正文中指定了分区键和ID
标题:
x-ms-documentdb-is-upsert: true
x-ms-documentdb-partitionkey: ["username"]
身体:
{"id": "test", "username": "test"}
问题:
从文档中提取的PartitionKey与指定的密钥不匹配 在标题中
无论如何,
我无法创建该文档。创建指定了分区的文档需要哪些必要的参数?
答案 0 :(得分:2)
两点:
如果使用的是Mongo API,则不应使用REST API。尽管从技术上讲是可行的,但不建议将两者一起使用。 100%不推荐。
分区键必须是分区键值,而不是路径本身,因此它将是“ test”而不是“ username”。它已经知道“用户名”是路径。