使用GET with Python、Flask和MongoDB返回整个集合
我试图通过使用连接到MongoDB的PythonFlask服务器为项目实现REST接口。我想做的是返回一些JSON数据,其中包含我的集合db.setpoints的内容,我希望将其格式化如下: 使用GET从mongo集合检索JSON内容所需的格式使用GET with Python、Flask和MongoDB返回整个集合,python,json,mongodb,rest,flask,Python,Json,Mongodb,Rest,Flask,我试图通过使用连接到MongoDB的PythonFlask服务器为项目实现REST接口。我想做的是返回一些JSON数据,其中包含我的集合db.setpoints的内容,我希望将其格式化如下: 使用GET从mongo集合检索JSON内容所需的格式 { Results: {'time1': 'TIME1_STR', temp1: 'TEMP1_STR'} {'time2': 'TIME2_STR', temp2: 'TEMP2_ST
{
Results:
{'time1': 'TIME1_STR', temp1: 'TEMP1_STR'}
{'time2': 'TIME2_STR', temp2: 'TEMP2_STR'}
{'time3': 'TIME3_STR', temp3: 'TEMP3_STR'}
}`
如果我遍历time和temp对象,我可以得到所有的设置点,但是如果我使用time1、temp1、time2、temp2等等,我不能返回所有的设置点。到目前为止,我一直在努力让它返回集合的所有内容,如果它们是这样的话。有什么建议吗
app.py
# Initialize MongoDB
mongo = PyMongo(app)
# [GET] retrieve list of setpoints
@app.route('/setpoints', methods=['GET'])
def get_all_setpoints():
setpoints = mongo.db.setpoints
output = []
# Find all queries in login collection
for q in setpoints.find():
output.append({'time' : q['time'], 'temp' : q['temp']})
return jsonify({'result' : output})
`
您可以放置一个调试器并查看每个变量中'q'的值吗?我建议它检查问题是从mongodb读取还是将它们格式化为JSON@CristianoAraujo有什么好办法吗?我在调试模式下运行了它,但它似乎没有显示这些信息。我也尝试过使用pycharm,但运行时遇到问题it@pkitsos如果您对IDE断点之类的东西不满意,您可以简单地在for循环中放入一个
print(q)
,看看q返回了什么。@AliYılmaz我试过了,但是没有显示print函数