簡體   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