【发布时间】:2022-02-22 20:29:24
【问题描述】:
如何将 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 可序列化的
【问题讨论】:
-
好的,错误可能来自
ObjectId(),因为它来自 BSON 并且不受 JSON 支持。也不要从数据库中读取并将其写入 JSON 文件,您可以使用 mongo 的 :: docs.mongodb.com/manual/reference/program/mongoexport/… ,但是当您想将其写为 JSON 文件时,请注意 BSON 的类型可能不会出现在最终的 JSON 文件中! !检查此 SOF 链接 :: stackoverflow.com/questions/8991292/…