Почтальон: не удается создать документ с помощью 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 ответ
Два момента:
Если вы используете Mongo API, вам не следует использовать REST API. Хотя это технически возможно, его нельзя использовать вместе. 100% не рекомендую.
ключом раздела должно быть значение ключа раздела, а не сам путь, поэтому это будет "test", а не "username". Он уже знает, что "имя пользователя" - это путь.