mongoimport jsonArray在64位构建时运行良好,但在32位中抛出异常

时间:2014-04-28 06:43:47

标签: json windows mongodb arrays

我在两个不同的系统中运行MongoDB独立服务器 - Windows 8.1 Pro 64位(MongoDB 2.6 64位)和Windows 7 Pro 32位(MongoDB 2.6 32位)

虽然 mongoimport csv在两个系统中都运行正常,但我在Windows 7系统中安装的32位版本中运行mongoimport --jsonArray时遇到异常。限制是Windows 7系统是一台只有32位操作系统选项的远程计算机,因此无法更改。

mongoimport --jsonArray适用于64位版本

C:\mongodb\bin>mongoimport -host localhost -d test -c <CollectionName> < data.json --jsonArray
connected to: localhost
Mon Apr 28 03:22:16.263 check 9 7343
Mon Apr 28 03:22:16.264 imported 7343 objects

mongoimport --jsonArray因32位构建而失败 :(下面显示的是JSON数组的子集.JSON数组文件大小仅为432 KB,因此2 GB的限制不应该是&#39;是一个问题)

C:\Program Files\MongoDB 2.6 Standard\bin>mongoimport -host localhost -d test -c  <CollectionName> < data.json --jsonArray
connected to: localhost

exception: Invalid JSON passed to mongoimport: code FailedToParse: FailedToParse
: Expecting '{': offset:0 of:
[
    {
        Name:"Colonia del Sacramento",
        loc:[-34.47999901,-57.84000247]
    },
    {
        Name:"Trinidad",
        loc:[-33.54399894,-56.90099656]
    },
    {
        Name:"Fray Bentos",
        loc:[-33.13899903,-58.30399747]
    }
]

我从终端运行mongoimport而不是从Mongo shell运行。我错过了什么吗?

1 个答案:

答案 0 :(得分:0)

我修改了我的json输入文件,以表示每行(子集)中的json文档

{Name:"Hamilton",loc:[-37.77826936,175.2895781]}
{Name:"Blenheim",loc:[-41.51351724,173.9549575]}
{Name:"Dunedin",loc:[-45.8854231,170.4910157]}
{Name:"Wellington",loc:[-41.29998785,174.7832659]}
{Name:"Christchurch",loc:[-43.5350216,172.6300232]}

并将mongoimport命令更改为

C:\Program Files\MongoDB 2.6 Standard\bin>mongoimport --db test --collection   <collectionName> --type json --file data.json
connected to: 127.0.0.1
2014-04-29T05:34:07.084-0600 check 9 7343
2014-04-29T05:34:07.101-0600 imported 7343 objects