有人可以帮助我解决以下问题吗?几天来我一直在努力解决这个问题... 我必须使用python将json文件导入mongodb。 我同时尝试了insert_many和insert_one,但以下代码出现错误:
import json
import pymongo
from pymongo import MongoClient
mng_client = pymongo.MongoClient('localhost', 27017)
mng_db = mng_client['mydatabase1']
collection_credits = mng_db['credits']
with open('credits.json') as f:
file_data = json.load(f)
collection_credits.insert_many(file_data)
client.close()
错误消息: 文档必须是dict的实例bson.son.SON ...
并带有:
import json
import pymongo
from pymongo import MongoClient
mng_client = pymongo.MongoClient('localhost', 27017)
mng_db = mng_client['mydatabase1']
collection_credits = mng_db['credits']
with open('credits.json') as f:
file_data = json.load(f)
collection_credits.insert_one(file_data)
client.close()
错误: BSON文档太大(191071260字节)
答案 0 :(得分:0)
insert_many需要迭代(例如列表),insert_one需要一条记录。
如果您的数据如下所示,请使用insert_many:
[ {
"a": "1"
} ]
如果您的数据如下所示,请使用insert_one:
{
"a": "1"
}
对于其他错误,mongodb文档的文件大小限制为16MB。您将需要预处理文件以减小文档大小。
答案 1 :(得分:0)
还要看看可以直接导入JSON数据的[mongoimport][1]
。