繁体   English   中英

使用python将Json文件导入mongodb的问题

[英]Problems importing Json file into mongodb using python

有人可以帮我解决以下问题吗? 我已经为这个问题苦苦挣扎了好几天……我必须使用 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 字节)

insert_many需要一个可迭代对象(例如一个列表), insert_one需要一个记录。

如果您的数据如下所示,请使用 insert_many:

[ {
  "a": "1"
} ]

如果您的数据如下所示,请使用 insert_one:

{
  "a": "1"
}

至于其他错误,mongodb 文档有 16MB 的文件大小限制。 您需要对文件进行预处理以减小文档大小。

另请查看[mongoimport][1]可以直接导入 JSON 数据。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM