포도가게의 개발일지
TypeError:Object of type, JSON serializable, Mongo DB로 받아온 object_id값 json으로 못보낼때 본문
DB
TypeError:Object of type, JSON serializable, Mongo DB로 받아온 object_id값 json으로 못보낼때
grape.store 2021. 7. 12. 15:38반응형
results = []
all_article = list(db.article.find({}))
for document in all_article:
document['_id'] = str(document['_id']) ## object_id -> string으로 변환
results.append(document)
return jsonify({'all':results})
게시글이나 각 컨텐츠에 고유의 id를 부여해주려다 id값이 안보내져 알아보니
object_id bson type으로 json으로 보낼 수 없었다.
그래서 위와 같이 mongoDB에서 받아온 데이터 값들에 object_id값을 전부 str으로 convert하여 json을 통해
보내주게 되었다 convert하는법은 다양한 방법이 있다
https://docs.mongodb.com/manual/reference/method/ObjectId/#objectid
이와 반대로 등록된 _id 값을 통해 mongoDB에서 데이터를 찾기 위해서는
from bson.objectid import ObjectId
def deleteapi():
delete_receive = request.form['delete_give']
# 지우기 - 예시
db.article.delete_one({'_id': ObjectId(delete_receive)}) ##검색할때 _id str값을 objectID에 넣어줘야됨
#print(delete_receive)
return jsonify({'msg': '삭제완료'})
objectID 라이브러리를 임포트해준 후 str값인 delete_receive값을 ObjectId(str value)에 넣어줌으로써
mongoDB에서 대조하여 원하는 값을 찾을 수 있다.
자세한건 다음 포스팅때 json과 mongoDB에 더 자세히 다루어 보겠습니다.
'DB' 카테고리의 다른 글
Mysql query 작성 (0) | 2021.11.07 |
---|---|
NestJS: TypeOrm 메소드 (0) | 2021.11.06 |
MongoDB pagination 기능 구현 (0) | 2021.07.27 |
Flask-mongoDB image upload & GridFS (0) | 2021.07.21 |
Mongo DB 기본(1) (0) | 2021.07.03 |
Comments