2017-09-26 6 views
0

을 pymongo 나는 ID로 행을 삭제하려면 :bson.errors.InvalidId 내가 MongoDB를하고 PyMongo 함께 일하고 있어요

_id = "c8c9447c42c82044be595b" #row id in database 
result = database.collection.delete_one({"_id": ObjectId(_id)}) #delete one row with the given id 
print(result.deleted_count) #1 true, 0 false 

내 코드를 실행하면 나는 다음과 같은 오류 메시지가 얻을 :

bson.errors.InvalidId: 'c8c9447c42c82044be595b' is not a valid ObjectId, it must be a 12-byte input or a 24-character hex string 

같은 오류

hexlify = codecs.getencoder('hex') 
print(':'.join(hex(ord(x))[2:] for x in 'c8c9447c42c82044be595b')) 

모든 제안은 아직, 난 이미 진수 내 ID를 변환하는 시도했지만 작동하지 않았다?

+0

먼저 ObjectId를 가져 오시겠습니까? Like - bson.objectid에서 가져 오기 ObjectId –

+0

예, >>를 가져 왔습니다. bson import ObjectId에서 가져 왔습니다. – tamaramaria

답변

1

메시지에서 'c8c9447c42c82044be595b'는 유효한 ObjectId가 아니며 12 바이트 입력 또는 24 문자 16 진 문자열이어야합니다. 22 자만 제공했습니다. =)

관련 문제