我在MongoDB中做了一个非常简单的导入操作。我有一个200MB大小的文件,JSON格式。它是一个Feed转储,格式为:{"some-headers":"", "dump":[{"item-id":"item-1"},{"item-id":"item-2"},...]}
这个json feed也包含英语以外的语言,如中文,日文,字符等。
我尝试将mongoimport作为mongoimport --db testdb --collection testcollection --file dump.json
进行操作但可能因为数据有点复杂,因此将dump
视为一列,导致错误,因为4MB列值限制。
我进一步尝试了一个python脚本:
import simplejson
import pymongo
conn = pymongo.Connection("localhost",27017)
db = conn.testdb
c = db.testcollection
o = open("dump.json")
s = simplejson.load(o)
for x in s['dump']:
c.insert(x)
o.close()
Python在运行此东西时被杀死,可能是由于我正在尝试使用的资源非常有限。
我减少了文件大小,通过获得50MB的新json转储,现在由于ASCII问题,python再次困扰我。
我正在寻找使用mongoimport
和上面的python脚本的选项。任何进一步的解决方案也将不胜感激。
另外,我可能有一天会到达json dump~GBs,所以如果有其他解决方案我应该考虑,那么pl会突出显示。