MongoDB ShardingKey error: Document does not contain shard key for pattern

MongoDB ShardingKey error: Document does not contain shard key for pattern

我正在尝试为 mongoDB 设置分片。 分片已成功创建,但每次我尝试在 json 文件的帮助下填充 collection 时,我都会收到以下错误:文档不包含模式的分片键

我正在使用以下命令声明分片:

sh.shardCollection("velo.Users",{Zipcode:1})

mongoimport --host localhost --port 1000 --db velo --collection Users "path"

这是 json 文件,我试图用以下内容填充我的 collection:

{
"Users": [
{
    "Email": "Lars.Bouman@gmail.com",
    "Number": "156 ",
    "UserId": 1,
    "Zipcode": "2060",
    "Street": "Somméstraat",
    "City": "Antwerpen",
    "CountryCode": "BE",
    "Name": "Bouman Lars"
},
{
    "Email": "Julia.van.der.Zee@telenet.be",
    "Number": "43 ",
    "UserId": 2,
    "Zipcode": "2610",
    "Street": "Europalaan",
    "City": "Wilrijk (Antwerpen)",
    "CountryCode": "BE",
    "Name": "van der Zee Julia"
}       
]
}

我已经尝试使用 "Users.Zipcode" 但我得到了同样的错误。

有人知道我做错了什么吗? 提前谢谢你

假设您希望您的分片集合在每个文档中包含一个用户,您的 json(在此示例中放入名为 Users.json 的文件中)应该是

[
{
    "Email": "Lars.Bouman@gmail.com",
    "Number": "156 ",
    "UserId": 1,
    "Zipcode": "2060",
    "Street": "Somméstraat",
    "City": "Antwerpen",
    "CountryCode": "BE",
    "Name": "Bouman Lars"
},
{
    "Email": "Julia.van.der.Zee@telenet.be",
    "Number": "43 ",
    "UserId": 2,
    "Zipcode": "2610",
    "Street": "Europalaan",
    "City": "Wilrijk (Antwerpen)",
    "CountryCode": "BE",
    "Name": "van der Zee Julia"
}       
]

然后假设您的 json 在名为 "Users.json" 的文件中,您的 mongoimport 命令如下所示:

mongoimport --host localhost --port 1000 --db velo --collection Users --file=Users.json --jsonArray