如何将pymongo集合导出到JSON文件,我有一个巨大的集合,其中包含大约1 GB的数据,我需要一种有效的方法来导出数据并从中创建JSON文件。 我正在使用以下代码,就像在堆栈溢出答案之一中所写。
def getJSONFromDB():
db = GetMongo_client()
collection = db['collection_name']
cursor = collection.find({})
file = open("collection.json", "w")
file.write('[')
for document in cursor:
file.write(json.dumps(document))
file.write(',')
file.write(']')
但是它给了我以下错误: TypeError:ObjectId类型的对象不可JSON序列化
答案 0 :(得分:0)
使用dumps
模块中的bson.json_util
:
import pymongo
from bson.json_util import dumps
db = pymongo.MongoClient()['mydatabase']
def getJSONFromDB():
collection = db['collection_name']
cursor = collection.find({})
file = open("c:\\temp\\collection.json", "w")
file.write('[')
for document in cursor:
file.write(dumps(document))
file.write(',')
file.write(']')
for i in range(10000):
db.collection_name.insert_one({f'test{i}': i})
getJSONFromDB()