Python 使用Pymongo从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}))

我在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}))
这有一个
data
字段,它似乎是base64编码的,因此我得到如下结果:

'data': {'$binary': '/9j/4AAQSkZJRgABAgAAAQABAAD/4QH4RXhpZgAATU0AKgAAAAgACgE

所以我要做的就是把它装回到场上。我不知道如何将其加载回
二进制
结构,以便从该字符串表示还原记录。因此,这个
Binary
类输入一个
bytes
流,我有这个base64编码字符串

如果有人感兴趣,这就成功了:
decoded=base64.decodebytes(imagecollection['data']['$binary'].encode())
请将其作为答案发布,以便其他人更容易找到相同的答案。