728x90
반응형
raise TypeError(f"Object of type {type(o).__name__} is not JSON serializable")
TypeError: Object of type Cursor is not JSON serializable
으이구! 커서 객체를 json으로 바꾸려니까 에러가 나쥬!
from flask import Flask, jsonify, request
from pymongo import MongoClient
collection.find()은 컬렉션에서 조건 없이 모든 문서를 조회하는 메서드다.
이를 호출하면 커서(Cursor) 객체가 반환 되는데, 커서는 실제 데이터를 포함하고 있는 반복 가능한 객체다.
list(collection.find())을 사용하면 커서 객체를 리스트로 변환하여 전체 데이터를 가져올 수 있다.
jsonify(collection.find())
위처럼 사용하면 안 된다! 상단에 올려놓은 에러가 발생한다.
jsonify(list(collection.find()))
이렇게 사용해야 한다.
728x90
반응형
'공부기록 > 파이썬' 카테고리의 다른 글
[Flask] 이미지 반환하는 라우터(url 호출시 이미지 반환하는 방법) (0) | 2023.07.13 |
---|---|
[Flask] MongoDB에서 TypeError 문제(_id) (0) | 2023.07.04 |
[Flask] Blueprint로 라우터 관리하기 (0) | 2023.07.03 |
[Python + Flask + MongoDB] REST API 구축하기 (0) | 2023.07.03 |
Python 기반 웹 프레임워크 Flask와 Django 비교 (0) | 2023.07.02 |