2017-07-03 66 views
0

没有看到这个确切的问题发布,所以随时指出它,如果它存在。我也是mongo的新手,所以我的言论可能很奇怪。烧瓶MongoEngine带图像字段的分页文档

我有一个文档集合,最终会变得非常大。我已经设置好这个文件有一个ImageField。我想返回完整的文档以及作为文件填充的ImageField的缩略图,以便我可以在我的html5/javascript前端显示它。

在SQL中,这将通过列选择器和连接来完成。

在这里看到:

from flask_mongoengine import MongoEngine 
import datetime 

db = MongoEngine() 

class img_audit(db.Document): 
    request_image = db.ImageField(size=(1920, 1080, True), thumbnail_size=(100, 100, True)) 
    processed_date = db.DateTimeField(default=datetime.datetime.utcnow) 
    state = db.StringField() 
    city = db.StringField() 

查询:

form = request.form 
dpage = form['page'] 
perpage = form['perpage'] 
pag_audits = img_audit.objects.paginate(page=int(dpage), per_page=int(perpage)) 
pag_res = [] 
for item in pag_audits.items: 
    pag_res.append(item.to_json()) 
return jsonify({'audits' : pag_res}) 

目前查询只是返回的ImageField的_oid就好像它是一个嵌套的文件。我怎样才能得到缩略图,并在一个旋转中返回所有这一切?

在用户界面上,当用户点击缩略图时,我会对高清图像进行获取请求。

感谢您的任何提示!

-------更新1 --------------

尝试了以下内容:

pag_audits = img_audit.objects.only('processed_date', 'state', 'city', 'request_image.thumbnail').paginate(page=int(dpage), per_page=int(perpage)) 

得到以下错误: mongoengine。 errors.LookUpError:无法解析字段上的子字段或运算符缩略图request_image

回答

0

我最终只使用Mongo作为键/值和Azure Blob存储来存储文件。由于各种原因,从成本到内容交付和扩展能力,这最终成为更好的解决方案。