【发布时间】:2020-03-05 16:50:42
【问题描述】:
我创建了一个使用 MongoDB 的 Python SDK 的 CosmosDB 数据库,我们将数据库称为school,将集合称为students。在创建数据库时,Azure UI 要求我创建一个无限存储容量的分片键,我们称之为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)
当我选择10GB的存储时,我添加文档没有问题,但是当我选择使用shard key的unlimited选项时,我收到以下错误:
pymongo.errors.WriteError: document does not contain shard key at 'school.students'
问题是,我应该在哪里使用分片键?以及如何克服这个问题?
【问题讨论】:
标签: python azure azure-cosmosdb azure-cosmosdb-mongoapi