Я создал базу данных CosmosDB, которая использует Python SDK от MongoDB, давайте назовем базу данных как school
, а коллекцию - students
. При создании базы данных пользовательский интерфейс Azure попросил меня создать ключ сегмента для неограниченной емкости хранилища, назовем его school.students
.
. Я использую pymongo
, чтобы добавить следующий документ:
{
"id": "abc123",
"name": "jack"
}
и код как:
from pymongo import MongoClient
student_data = {
"id": "abc123",
"name": "jack"
}
client = MongoClient("mongodb://...")
db = client["school"]
collection = db["students"]
collection.insert_one(student_data)
Когда я выбрал хранилище с 10 ГБ, у меня нет проблем с добавлением документа, но когда я выбрал неограниченный вариант с ключом шарда, я получаю следующую ошибку:
pymongo.errors.WriteError: document does not contain shard key at 'school.students'
Вопрос в том, где мне использовать ключ шарда? и как с этим справиться?