使用 Pymongo 从 MongoDB 恢复二进制数据

Luc*_*uca 6 python mongodb pymongo

我在 MongoDB 集合中有一个字段,它将图像存储为二进制文件,如下所示:

with open(image['url'], "rb") as f:
    encoded = Binary(f.read())
    image['data'] = encoded
    # ... This gets inserted into the DB
Run Code Online (Sandbox Code Playgroud)

现在,我将集合导出为:

img_records = dumps(db.imagecollection.find({}, {'_id': False}))
Run Code Online (Sandbox Code Playgroud)

data字段似乎是 base64 编码的,所以我得到类似的内容:

'data': {'$binary': '/9j/4AAQSkZJRgABAgAAAQABAAD/4QH4RXhpZgAATU0AKgAAAAgACgE
Run Code Online (Sandbox Code Playgroud)

所以我想做的就是将其加载回现场。我不知道如何将其加载回结构中,Binary以便我可以从该字符串表示形式恢复记录。所以,这个Binary类输入一个bytes流,我有这个 base64 编码的字符串。