2014-05-12 40 views
0

我尝试使用下面的命令加载一个80兆JSON文件到MongoDB的:加载JSON到MongoDB的

mongoimport --db qt --collection cftable --type json --file cftable.json --jsonArray

我从mongoimport得到如下:

2014-05-12T14:16:00.338-0500 check 0 0 2014-05-12T14:16:00.338-0500 imported 0 objects encountered 1 error(s)

下面是一个示例记录的样子 - 其中大约有65,000个。没有接近16毫克。整个文件是80 MB。有没有办法让我能够缩小问题的范围?或者我用mongoimport吠叫错误的树来做这样的事情?

[ { "last_name": "Jones", "first_name": "Johny", "middle_name": "J.", "nick_name": "", "gen_qual": "", "degree": "Ph.D.", "specialty": "LabM & Path", "voting_staff_flag": "1", "start_date": "Jan 1 1900 12:00:00:000AM", "end_date": "Dec 31 2599 11:59:00:000PM", "time_code": "All Day", "resident_or_fellow_flag": "0", "smtp_address": "[email protected]", "per_id": "12345678", "rank": "Cons", "committee_member": "Y", "point_entity": "Somewhere", "s_last_name": "JONES", "s_first_name": "JOHNY", "ALT_IDENTIFIER_1": "JONESJ", "ALT_IDENTIFIER_2": "MRE2222", "ALT_IDENTIFIER_3": "SO_ST_02_50-EP", "ALT_IDENTIFIER_4": "123456", "campus_name": "Somewhere, Ohio", "work_locations": [ { "w_ai": 17395220, "work_location_sort": 15, "building": "Rexell Building", "floor": "2", "area": "Experimental Pathology", "pager": "111 or (11)5-5555", "phone": "(11)9-9999", "supports": [ { "support_sort": 0, "support_desc": " ", "support_note": " ", "support_phone": " ", "support_start_date": "", "support_end_date": "" } ] }, { "w_ai": 174956, "work_location_sort": 25, "building": "Rexell Building", "floor": "2", "area": "Laboratory", "pager": "111 or (11)1-1111", "phone": "(11)2-2222", "supports": [ { "support_sort": 15, "support_desc": "Medical Secretary", "support_note": " ", "support_phone": "(11)6-6666", "support_start_date": "Jan 1 1900 12:00:00:000AM", "support_end_date": "Dec 31 2599 12:00:00:000AM" } ] } ] } ''' ]

+0

有没有办法得到返回的错误信息? – tympaniplayer

+0

我想这是我的问题的一部分 - 我知道的唯一的“返回”是我上面发布的......没有看到任何标志建立错误日志等 – Tiggyboo

+0

看看你是否可以得到最后一个错误。 http://docs.mongodb.org/manual/reference/command/getLastError/ – tympaniplayer

回答

0

我会插入你的记录到MongoDB中,做一个mongoexport - 和比较对你的文件的文件。

+0

我觉得这是一个足够好的想法,可以作为答案,但是魔鬼实际上是在我300万行的碗洞深处破碎的深处。我相应地改变了我的Python解析代码,整个事情运行良好。我能够通过-vvv标志获得更多信息,但还不足以识别破碎的json - 我终于通过剪切/粘贴将其传送到了jsonlint.com。 – Tiggyboo