for i in all_data:
down_list = []
now_time = utility.get_this_time()
for one_data in i:
on_list = []
new_list = async_real_time_data(one_data)
for i in new_list:
# 統一修改時間 或者 統一添加新時間
i.update(update_time=now_time)
on_list += new_list
print on_list
down_list += on_list
print down_list
mongo_manager.insert_many("temperature_predict_data", down_list)
提示內容是這樣的:(使用的是python2)
DuplicateKeyError: E11000 duplicate key error collection:........index: _id_ dup key: { : ObjectId('5a425e8187ea64b6c051567a') }
百度後,發現有的人是因爲for循環之類的錯誤,(我的問題是在兩次for循環中都在外面執行了list +=)
修改後的代碼是這樣:(把for循環中要添加的數據統一到最裏面的for循環中添加,就解決了這個問題)
down_list = []
for i in all_data:
now_time = utility.get_this_time()
for one_data in i:
new_list = async_real_time_data(one_data)
for i in new_list:
# 統一修改時間 或者 統一添加新時間
i["update_time"] = now_time
down_list.append(i)
mongo_manager.insert_many("temperature_predict_data", down_list)