我已经使用带有mongodb的python flask编写了一个rest api,并实现了一个与服务器应用程序通信的客户端设备程序,但不断从Web应用程序获取错误404。出于某种原因,我很难让我的python服务器合作。我想要做的是从mongodb集合中获取所有JSON数据,格式如下:
{
Results:
{'time1': 'TIME1_STR', 'temp1': 'TEMP1_STR'}
{'time2': 'TIME2_STR', 'temp2': 'TEMP2_STR'}
{'time3': 'TIME3_STR', 'temp3': 'TEMP3_STR'}
}`
我可以迭代条目列表,如果它们包含相同的对象名称,例如time,它将返回具有对象时间的集合的所有内容。但是,我需要返回对象time1,time2和time3,而不是所有具有名称time的对象。我还没有找到一种方法来解决这个问题,它没有给我错误404.例如,未注释的代码通过对象名称temp1返回所有json对象数组,但是这不允许我获取time2的条目和time3数组,如代码的注释部分所示。有人可以帮助我理解并解决这个问题,以便我能让我的项目正常运作吗?
app.py
from flask import Flask, jsonify, json, request
from flask_pymongo import PyMongo
from pprint import pprint
"""***************************** INITIALIZE *********************************"""
# Initialize Flask
app = Flask(__name__)
# Configure MongoDB
app.config['MONGO_URI'] = 'mongodb://pkitsos:GoLobo$@localhost:27017/admin'
# Initialize MongoDB
mongo = PyMongo(app)
# [GET] retrieve list of logins
@app.route('/', methods=['GET'])
def get_all_logins():
thermo = mongo.db.thermo
output = []
# Find all queries in login collection
for q in thermo.find():
output.append({'time1': q['time1'], 'temp1': q['temp1']})
"""
for q in thermo.find().limit(1):
output.append({'time2': q['time2'], 'temp2': q['temp2']})
for q in thermo.find().limit(1):
output.append({'time3': q['time3'], 'temp3': q['temp3']})
"""
return jsonify({'result' : output})