API端点只能从MongoDB中返回一个记录

问题描述 投票:0回答:1

这是我的终点。我不得不删除OBJECTID,因为它不是JSON序列化。我怎样才能返回所有的在我的MongoDB的记录?

from flask import Flask, jsonify, request
from flask_pymongo import PyMongo
from pymongo import MongoClient
from bson import json_util, ObjectId
import json

app = Flask(__name__)

app.config['MONGO_DBNAME'] = 'dummyDB'
app.config['MONGO_URI'] = 'mongodb://user:[email protected]:27017/dummyDB?authSource=admin'
client = MongoClient ('mongodb://user:[email protected]:27017/dummyDB?authSource=admin')
db = client['dummyDB']

mongo = PyMongo(app)
@app.route('/jobdata', methods=['GET'])
def get_all_jobdata():
  jobdata = mongo.db.jobdata

  output2 = []

  for q in jobdata.find():
    output2.append({
    'jobcode' : q['jobcode'],
    'date' : q['date'],
    'mean' : q['mean'],
    'std' : q['std']})

    return jsonify({'result' : output2})
python mongodb api mean-stack
1个回答
0
投票

我需要移动return语句外的for循环

for q in jobdata2.find():
    output2.append({
    '_id' : q['_id'],
    'jobcode' : q['jobcode'],
    'date' : q['date'],
    'mean' : q['mean'],
    'std' : q['std']})


  return jsonify({'result' : output2})
  ^

缩进在python是痛苦的

© www.soinside.com 2019 - 2024. All rights reserved.