MongoDB ShardingKey错误:文档不包含模式的分片键

问题描述 投票:0回答:1

我正在尝试为mongoDB设置分片。碎片创建成功,但是每次我尝试使用json文件填充集合时,都会出现以下错误:文档不包含模式的碎片键Document error

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

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

Sharding

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”,但遇到相同的错误。

有人知道我在做什么错吗?预先谢谢你

mongodb nosql sharding
1个回答
0
投票

假设您的分片集合每个文档包含一个用户,则您的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
© www.soinside.com 2019 - 2024. All rights reserved.