를 제공하지 않습니다 Pymongo는 Pymongo 실패하지만, 여기에 예외
import mong #just my library for initializing
collection_1 = mong.init(collect="col_1")
collection_2 = mong.init(collect="col_2")
for name in collection_2.find({"field1":{"$exists":0}}):
try:
to_query = name['something']
actual_id = collection_1.find_one({"something":to_query})['_id']
crap_id = name['_id']
collection_2.update({"_id":id},{"$set":{"new_name":actual_id}},upset=True)
except:
open('couldn_find_id.txt','a').write(name)
이 모든, 하나의 콜렉션에서 필드를 복용하는 필드의 ID를 발견하고 다른 모음의 ID를 업데이트하고있다에서 쿼리입니다. 그것은 약 1000-5000 반복 작업하지만 정기적으로 실패하고 스크립트를 다시 시작해야합니다.
> Traceback (most recent call last):
File "my_query.py", line 6, in <module>
for name in collection_2.find({"field1":{"$exists":0}}):
File "/home/user/python_mods/pymongo/pymongo/cursor.py", line 814, in next
if len(self.__data) or self._refresh():
File "/home/user/python_mods/pymongo/pymongo/cursor.py", line 776, in _refresh
limit, self.__id))
File "/home/user/python_mods/pymongo/pymongo/cursor.py", line 720, in __send_message
self.__uuid_subtype)
File "/home/user/python_mods/pymongo/pymongo/helpers.py", line 98, in _unpack_response
cursor_id)
pymongo.errors.OperationFailure: cursor id '7578200897189065658' not valid at server
^C
bye
사람이 실패하고, 어떻게조차 실패에 내 스크립트를 계속 예외으로 바꿀 수있는 어떤 생각을 가지고 있습니까?
감사