MongoEngine - 如何使用ObjectID从GridFs获取文件

时间:2017-10-23 09:16:32

标签: python mongodb mongoengine gridfs

当每个文档包含文件(使用GridFS)时,我有一个特定的文档集合。

我使用聚合方法从该集合中检索特定文档 当每个文档表示为字典时,聚合方法返回一个文档列表 因此,当我尝试从dict获取文件时,它会返回一个ObjectID对象(而不是常规查询方法中返回的文件对象)。

问题是,如何使用此ObjectID获取文件对象?
换句话说,是否有一种简单的方法来获取实际文件对象,如documentation中仅使用ObjectID所示(不参与GridFS中文件块的合并)

感谢。

1 个答案:

答案 0 :(得分:1)

解决方案是直接使用GridFSProxy对象并将文件Object ID作为参数:

import mongoengine
.
.
file_obj = mongoengine.GridFSProxy(FileID)