def getSpecificId(id):
result = objectIdDecoder(list(collection.find({"_id": ObjectId(id)})))
return str(result)
def objectIdDecoder(list):
results=[]
for document in list:
document['_id'] = str(document['_id'])
results.append(document)
return results
pymongo를 통해 collection을 find한 다음 받은 ObjectId는 유효한 json type이 아니다. 그러므로 json형태로 사용할 경우에는 ObjectId를 String으로 변환하는 작업을 해야합니다.
이때 ObjectIdDecoder가 List형태의 array를 받아서 _id key를 str형태로 변경하는 로직의 method를 사용하면 편리하게 변경하여 json으로 사용할 수 있습니다.
반응형
'빅데이터 > nosql' 카테고리의 다른 글
mongodb JSON 데이터 upsert 하기(with 자바 라이브러리) (0) | 2021.05.25 |
---|---|
kafka console consumer 여러 토픽 컨슘하기 (1) | 2021.02.25 |
4.0 미만 mongoDB에서 db 복제하기 (0) | 2020.12.04 |
mongodb shell에서 printjson을 사용하여 BSON을 text로 보기 (0) | 2019.09.02 |
mongodb shell에서 array로 정의한 multi db 검색하기 (0) | 2019.09.02 |
mongodb shell에서 서로다른 database의 데이터 비교하기 (0) | 2019.08.22 |