我正在尝试为mongoDB设置分片。碎片创建成功,但是每次我尝试使用json文件填充集合时,都会出现以下错误:文档不包含模式的碎片键
我使用以下命令声明分片:
sh.shardCollection("velo.Users",{Zipcode:1})
mongoimport --host localhost --port 1000 --db velo --collection Users "path"
这是json文件,我正在尝试使用以下填充我的收藏集:
{
"Users": [
{
"Email": "[email protected]",
"Number": "156 ",
"UserId": 1,
"Zipcode": "2060",
"Street": "Somméstraat",
"City": "Antwerpen",
"CountryCode": "BE",
"Name": "Bouman Lars"
},
{
"Email": "[email protected]",
"Number": "43 ",
"UserId": 2,
"Zipcode": "2610",
"Street": "Europalaan",
"City": "Wilrijk (Antwerpen)",
"CountryCode": "BE",
"Name": "van der Zee Julia"
}
]
}
我已经尝试使用“ Users.Zipcode”,但遇到相同的错误。
有人知道我在做什么错吗?预先谢谢你
假设您的分片集合每个文档包含一个用户,则您的json(在此示例中,放入名为Users.json的文件中)应该是
[
{
"Email": "[email protected]",
"Number": "156 ",
"UserId": 1,
"Zipcode": "2060",
"Street": "Somméstraat",
"City": "Antwerpen",
"CountryCode": "BE",
"Name": "Bouman Lars"
},
{
"Email": "[email protected]",
"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