邮递员:无法使用Azure MongoDB API创建文档

时间:2018-12-07 12:37:40

标签: azure azure-cosmosdb azure-cosmosdb-mongoapi

使用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与指定的密钥不匹配   在标题中

无论如何,

我无法创建该文档。创建指定了分区的文档需要哪些必要的参数?

1 个答案:

答案 0 :(得分:2)

两点:

  1. 如果使用的是Mongo API,则不应使用REST API。尽管从技术上讲是可行的,但不建议将两者一起使用。 100%不推荐。

  2. 分区键必须是分区键值,而不是路径本身,因此它将是“ test”而不是“ username”。它已经知道“用户名”是路径。