无法将json文件导入mongodb

时间:2014-08-11 20:57:20

标签: json mongodb import database nosql

我有一个从mongo集合中导出的json文件

[
{
    "_id": {
        "$oid": "53e8a29fe434b85c22000405"
    },
    "registeredOn": "127.0.0.1",
    "password": "5cb67a32022e6df37c6adece17756380",
    "email": "asdqwe@hotmail.com",
    "clean": "asdqwe",
    "username": "asdqwe",
    "picture": "default.png",
    "message": "yazarın mottosu",
    "entry_count": 0,
    "point": 0,
    "lastLogin": {
        "$date": "2014-08-11T14:01:51.102+0300"
    },
    "generation": 1,
    "gender": 0,
    "auth": 1,
    "registeredAt": {
        "$date": "2014-08-11T14:01:51.102+0300"
    },
    "__v": 0
},
{
    "_id": {
        "$oid": "53e8a29fe434b85c22000406"
    },
    "registeredOn": "127.0.0.1",
    "password": "7323bac004ed0148c6a3206e0d870ea4",
    "email": "asdqwe@gmail.com",
    "clean": "asdqweqw",
    "username": "asdasdasdo",
    "picture": "default.png",
    "message": "yazarın mottosu",
    "entry_count": 0,
    "point": 0,
    "lastLogin": {
        "$date": "2014-08-11T14:01:51.203+0300"
    },
    "generation": 1,
    "gender": 0,
    "auth": 1,
    "registeredAt": {
        "$date": "2014-08-11T14:01:51.203+0300"
    },
    "__v": 0
}
]

当我尝试将其导入我的数据库时,我从mongoimport收到错误。

这是我使用的命令:

mongoimport -d sausozlukdb -c users users.json --jsonArray

结果

检查0 0 导入0个对象 错误:遇到1个错误

请提前帮助我。

我注意到了一个细节,我的导出文件是从mongodb 2.6导出的 但我的目标数据库是mongodb 2.4

3 个答案:

答案 0 :(得分:2)

自MongoDB 2.4以来,mongoimport已经有一些修复 - 特别是为了提高解析的稳健性,并确保使用MongoDB Extended JSON通过mongoexport对值进行往返。< / p>

您的users.json文件有效,但2.4.10 mongoimport绝对不一样:

  • message字段
  • 中的UTF字符
  • $date格式

......可能还有更多。由于每个文件调整似乎都会导致另一个问题,我没有继续测试。

但是,这个JSON似乎可以导入2.6.4 mongoimport,所以我建议使用更新的版本。

我不知道使用2.6 mongoimport导入到MongoDB 2.4中的任何问题,并且它适用于您提供的示例。

答案 1 :(得分:0)

尝试验证JSON文件:

python -mjson.tool < users.json

它会告诉你哪里有错误。

答案 2 :(得分:0)

    mongoimport --d sausozlukdb -c users users.json --jsonArray

双hyphon需要。