728x90
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으로 사용할 수 있습니다.
728x90
'빅데이터 > nosql' 카테고리의 다른 글
4.0 미만 mongoDB에서 db 복제하기 (0) | 2020.12.04 |
---|---|
pymongo - find결과로 나온 데이터의 ObjectId()를 string으로 변경하기 (0) | 2020.05.13 |
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 |
mongodb shell에서 db 이름 명시하여 데이터 조회하기 (0) | 2019.08.22 |
NoSQL강의) mongoDB에서 data 모델링하는 방법. 예제포함. (3) | 2019.07.25 |