我使用 Azure 和 Cosmos DB 来存储一些信息,但我创建的新集合存在一些问题。
我总是出现这样的错误消息:
Failed to update document 5b83e5297dfa952bb4036fa6: {"code":400,"body":"Command update failed: query in command must target a single shard key."}
集合名称是“item”,我尝试存储一些图像 URL。所以,我首先尝试添加以下文档
{
"_id" : ObjectId("5b83e5297dfa952bb4036fa6"),
"imageURL" : "https://www.tendance-parfums.com/media/resized/460/600/baseline-1/bgcolor-255-255-255/constrainonly-1/defaultimage-/keepaspectratio-1/keepframe-/mode-outer_resize/media/catalog/product/c/h/chanel-n5-eau-de-parfum-vaporisateur-y_2.jpg"
}
请注意,_id
是自动创建的。
所以,我不知道为什么Azure门户总是给出一些错误!
一些细节,集合使用默认参数(无限大小),我使用 imageURL
作为分片键,15000 作为吞吐量,item
作为集合 ID。
有什么想法吗?
PS:另一个问题是它在创建集合时正在寻找shard key
,但目前我只有这个字段imageURL
,但我没有确定合适吗?
最佳答案
我找到了一种方法来修复它,看来分片键不能是 URL,所以我使用了另一个复杂的分片键并且它有效!!!
关于json - Azure + Cosmos DB :,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52038904/