FrontEngineer JungBam
몽고db에 자동으로 저장되는 _id로 작업하기 본문
몽고db를 사용하면서 그냥 아무렇지 않게 쓰던 list() 안에 find({},{'_id':False})가 왜 그렇게들 작업하는지 알 수 있었다.
_id를 통해 갖고 오는 데이터의 번호를 붙여주려고 작업을 하고 있었다.
@app.route("/petcafe/seoul", methods=["GET"])
def petcafe_seoul_get():
all_article = list(db.article.find({},{'_id':False}))
return jsonify({'orders': all_article})
근데 여기서 {'_id':False}를 지우니까 서버에러가 난다.
에러의 이유를 찾아보니까 _Id는 오브젝트라서 데이터로 처리할 수 없다.라는 내용이었다.
여기저기 이유를 찾아보다가 사전 프로젝트에서 알게된 지용님에게 물어봤는데 같은 고민을 이미 해결하셨었고, 가져온 _id값을 벗겨주는 작업을 하면 되는 것이었다.
(아래 코드 참고)
@app.route("/board/get", methods=["GET"])
def board_get():
all_article = list(db.board.find({}))
decoded_all_article = []
for document in all_article :
document['_id'] = str(document['_id'])
decoded_all_article.append(document)
return jsonify({'articles': decoded_all_article})
반응형
'개발일지' 카테고리의 다른 글
python에 동적경로 넘기기 (0) | 2022.11.16 |
---|---|
카카오 MAPS API 사용하기 (0) | 2022.11.15 |
JWT(로그인 / 로그아웃) (0) | 2022.11.14 |
json 파일의 이해 (0) | 2022.11.11 |
URL에서 쿼리스트링 값 받아오기 (0) | 2022.11.10 |
Comments