我正在尝试在抛出错误时检索存储在MongoDB
中的音频文件。
代码如下:
elif json_data != None and 'retriever' in json_data:
query_param = json_data['retriever']
data = db.soundData
x = data.find({'name': query_param})
y = data.find({'data': x})
return Response(y, mimetype='audio/mp3')
在name
下我有文件名,data
下是音频文件本身。
因为我是pymongo
的新手,有人可以指出错误可能来自哪里吗?
答案 0 :(得分:1)
首先,你need not be saving your file itself in mongo你应该保存的是文件名,文件本身的文件本身最好。
出现错误是因为x和y都是mongodb游标而不是您期望的数据。您应该使用find_one代替。
find_one(filter = None,* args,** kwargs)从中获取单个文档 数据库中。
find()的所有参数也是find_one()的有效参数, 虽然任何限制参数都会被忽略。返回一个 如果没有找到匹配的文件,则为“文件”或“无”。
y = data.find_one({'data': x})
您可以使用
使代码更简洁y = data.find_one({'data': {'name': query_param}})