处理将json导入mongo时出错

处理将json导入mongo时出错,json,mongodb,Json,Mongodb,我有一个json文件,如下所示: {"_id":"id1","cat":["C","D","R","P"],"desc":"some desc","name":"some_name","category":"categ","languages":["en"],"type":"swf","start_date":1.39958850681748E9}, {"_id":"toy-driver","cat":["C","D","R","P"],"desc":"some des

我有一个json文件,如下所示:

        {"_id":"id1","cat":["C","D","R","P"],"desc":"some desc","name":"some_name","category":"categ","languages":["en"],"type":"swf","start_date":1.39958850681748E9},

    {"_id":"toy-driver","cat":["C","D","R","P"],"desc":"some desc","name":"name2","category":"Rac","languages":["en"],"type":"swf","start_date":1.399588506820609E9},
............
它由大约900行组成。当我碰巧使用命令导入2或3个类似行时:

mongoimport -d test -c test --jsonArray file.json
它完全导入,没有任何错误,而导入整个文件会导致一些错误

imported 0 objects
encountered 1 error

如果我没有弄错的话,这里有两个问题。

  • --jsonArray
    需要一个JSON文档,其中900条记录都是单个数组的一部分。
    您在一个文件中提供了900个独立的JSON行,它不响应--jsonArray格式。(另外,在每行末尾删除逗号,mongoimport需要换行符。

  • 如果要从文件导入数据,必须指定关键字
    --file file.json

  • 我相信,如果删除--jsonArray参数并添加--file关键字,就可以了。例如:

    mongoimport -d test -c test --file file.json
    
    其中file.json与此类似:

    {"_id":"id1","cat":["C","D","R"], ... "type":"swf","start_date":1.39958850681748E9}
    {"_id":"id2","cat":["C","D","R"], ... "type":"swf","start_date":1.39958850681748E9}
    {"_id":"id3","cat":["C","D","R"], ... "type":"swf","start_date":1.39958850681748E9}
    

    希望这有帮助!

    它告诉你错误是什么吗?双检查所有JSON都是好的。还有一件事,考虑将StaskDype的类型分为一个字符串或长表示一个时代UNIX时间戳(例如1408190446)。使用jsonArray的命令运行良好,我使用的文本编辑器出现了文本换行问题。我选择了方括号(文本编辑器)来解决此问题。现在运行良好!谢谢:)