Page 1 of 1

Fastapi -Probleme mit MongoDB - TypeError: 'ObjectID' Objekt ist nicht iterbar

Posted: 13 Apr 2025, 09:23
by Anonymous
Ich habe einige Probleme, die über Fastapi in MongoDB einfügen. < /p>
Der folgende Code funktioniert wie erwartet. Beachten Sie, wie die Antwort Variable nicht als Antwort_TO_MONGO () verwendet wurde.

Code: Select all

app = FastAPI()

def response_to_mongo(r: dict):
client = pymongo.MongoClient("mongodb://mongo:27017")
db = client["models"]
model_collection = db["example-model"]
model_collection.insert_one(r)

@app.post("/predict")
async def predict_model(features: List[float]):

prediction = model.predict(
pd.DataFrame(
[features],
columns=model.feature_names_in_,
)
)

response = {"predictions": prediction.tolist()}
response_to_mongo(
{"predictions": prediction.tolist()},
)
return response
Wenn ich jedoch predict_model () wie diese schreibe und die Antwort an response_to_mongo () :
übergebene

Code: Select all

@app.post("/predict")
async def predict_model(features: List[float]):

prediction = model.predict(
pd.DataFrame(
[features],
columns=model.feature_names_in_,
)
)

response = {"predictions": prediction.tolist()}
response_to_mongo(
response,
)
return response
< /code>
Ich erhalte einen Fehler, der angibt: < /p>
TypeError: 'ObjectId' object is not iterable
Aus meiner Lektüre scheint dies an BSON/JSON -Problemen zwischen Fastapi und Mongo zurückzuführen zu sein. Warum funktioniert es jedoch im ersten Fall, wenn ich keine Variable verwende? Liegt das an der asynchronen Natur von Fastapi?