Python 使用Pymongo从MongoDB恢复二进制数据
我在MongoDB集合中有一个字段,它将图像存储为二进制文件,如下所示:Python 使用Pymongo从MongoDB恢复二进制数据,python,mongodb,pymongo,Python,Mongodb,Pymongo,我在MongoDB集合中有一个字段,它将图像存储为二进制文件,如下所示: with open(image['url'], "rb") as f: encoded = Binary(f.read()) image['data'] = encoded # ... This gets inserted into the DB 现在,我将集合导出为: img_records = dumps(db.imagecollection.find({}, {'_id': False}))
with open(image['url'], "rb") as f:
encoded = Binary(f.read())
image['data'] = encoded
# ... This gets inserted into the DB
现在,我将集合导出为:
img_records = dumps(db.imagecollection.find({}, {'_id': False}))
这有一个data
字段,它似乎是base64编码的,因此我得到如下结果:
'data': {'$binary': '/9j/4AAQSkZJRgABAgAAAQABAAD/4QH4RXhpZgAATU0AKgAAAAgACgE
所以我要做的就是把它装回到场上。我不知道如何将其加载回
二进制
结构,以便从该字符串表示还原记录。因此,这个Binary
类输入一个bytes
流,我有这个base64编码字符串 如果有人感兴趣,这就成功了:decoded=base64.decodebytes(imagecollection['data']['$binary'].encode())
请将其作为答案发布,以便其他人更容易找到相同的答案。