我有2個集合:A(3.8M文檔)和B(1.7M文檔)的MongoDB - PHP - MongoCursorException '遊標未發現'
我有一個PHP腳本,我從shell運行:
- 遍歷中的時刻A
- 〜60%的每個記錄,它在B中的findOne(使用_id)
- 做一些基本的數學,創建一個php陣列
一旦在所有文檔循環完成:PHP的致命錯誤:
4)環比PHP數組
5)UPSERT到收集℃持續(1),我一直得到
未捕獲例外「MongoCursorException」有消息「遊標未發現」 處理的最後一個項目是#8187的3872494.
real 1m25.478s
user 0m0.076s
sys 0m0.064s
再次運行它,在代碼中沒有變化,除了拿到項目#拋出3872495分之19826
real 3m19.144s
user 0m0.120s
sys 0m0.072s
再次,#387249分之8181
real 1m31.110s
user 0m0.036s
sys 0m0.048s
是的,我知道我可以(並且可能應該)捕捉到了異常......但爲什麼它甚至被拋出?特別是在數據庫中這種不同的經過時間/深度。
如果有幫助,我的設置是一個3節點副本集(2 + arb)。我把輔助線路脫機,並嘗試只是主要運行。相同的結果(處理的結果數量和次數不同,但始終引發未找到Cursor異常)。
這是否最終是一個遊標超時問題?謝謝 – mils