Почтальон: не удается создать документ с помощью API Azure MongoDB

При создании документа с помощью Azure Cosmos DB: API MongoDB я сталкиваюсь со следующими проблемами, которые зависят от параметров.

При создании коллекции UserProfile Я создал его с помощью ключа раздела username,

Запрос 1: - без ключа раздела

Заголовки:

x-ms-documentdb-is-upsert: true

Тело:

{"username": "test"}

Выпуск:

Ключ раздела, указанный в заголовке x-ms-partitionkey, содержит меньше компонентов, чем определено в коллекции.

Request2: - с ключом раздела

Заголовки:

x-ms-documentdb-is-upsert: true
x-ms-documentdb-partitionkey: ["username"]

Тело:

{"username": "test"}

Выпуск:

Один из указанных входов неверен

Запрос 3: - с указанием ключа раздела и идентификатора в теле

Заголовки:

x-ms-documentdb-is-upsert: true
x-ms-documentdb-partitionkey: ["username"]

Тело:

{"id": "test", "username": "test"}

Выпуск:

Partition Key извлеченный из документа не совпадает с указанным в заголовке

В любом случае,

Я не могу создать документ. Какие параметры необходимы для создания документа с указанным разделом?

1 ответ

Два момента:

  1. Если вы используете Mongo API, вам не следует использовать REST API. Хотя это технически возможно, его нельзя использовать вместе. 100% не рекомендую.

  2. ключом раздела должно быть значение ключа раздела, а не сам путь, поэтому это будет "test", а не "username". Он уже знает, что "имя пользователя" - это путь.

Другие вопросы по тегам