python - 用于 mongodb 错误 404 的 Python 烧瓶 api
问题描述
我已经使用带有 mongodb 的 python 烧瓶编写了一个 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'}
}`
如果条目列表包含相同的对象名称(例如时间),我可以迭代它们,这将返回集合的所有内容以及对象时间。但是,我需要返回对象 time1、time2 和 time3,而不是所有名称为 time 的对象。我还没有找到一种不会给我错误 404 的解决方法。例如,未注释的代码按对象名称 temp1 返回所有 json 对象数组,但是这不允许我获取 time2 的条目和代码注释部分中给出的 time3 数组。有人可以帮助我理解并解决此问题,以便我的项目正常工作吗?
应用程序.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})
解决方案
推荐阅读
- python-3.x - 无法使用 Python 3 将 MessageAttributes 发送到 AWS SQS
- dax - DAX 中的 CASE 语句转换
- javascript - 将对象数组转换为对象中的值数组
- python - 使用多处理时加入进程是否有顺序规则?
- c# - 如何在 Epson FX-890 打印机上打印重音字符并保留打印机控制序列?
- ruby-on-rails - 无法从终端访问 Heroku rails 控制台
- javascript - 当 `label` 元素包含子 `span` 时,单击标签会触发子元素而不是父元素
- r - 计算复制的平均值
- flutter - 如何制作带有一行的列表构建器
- php - 将 Carbon 日期转换为 html 日期时间格式