用于mongodb错误404的Python flask api

时间:2018-05-13 18:24:29

标签: python json mongodb rest flask

我已经使用带有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})

0 个答案:

没有答案