我创建了一个Azure Cosmos数据库(选择MongoDB作为语言),在通过Azure门户(网站)创建新文档时,它失败并说:
{"code":400,"body":"Command insert failed: document does not contain shard key."}
我尝试通过网站创建以下文档:
{
"wordpress_id": "test"
}
而且:
{
"id" : "replace_with_new_document_id",
"wordpress_id": "test"
}
"wordpress_id"
是我在创建集合时定义的"Shard key"
(或分区键)。它也是唯一键。
这是我在“比例和设置”标签中的see。 这是我在尝试创建文档时看到的error。
我错过了什么吗?
你知道为什么会这样吗?
答案 0 :(得分:2)
我错过了什么吗?你知道为什么会这样吗?
如果我从Azure门户创建共享集合,我也可以重现此问题。
根据azure official document,我们可以知道我们可以使用收藏工具,驱动程序或SDK 创建共享集合。
使用MongoDB API,您可以通过收藏夹工具,驱动程序或SDK 创建分片集合。
我使用studio3t工具进行演示。我使用的Mongo Shell
db.runCommand( { shardCollection: "databaseName.collectionName", key: { KeyName: "hashed" } } )
从studio3t
运行Mongo Shell之后我们可以正确地从Azure门户创建文档。