項目中換上了 PHP 最新的mongodb驅動,但這個驅動只是原生接口的一層包裝,有些命令甚至要用executeCommand構造,像下面要講到的aggregate方法。mongodb
第一次封裝 Infrastructure\Mongodb 後的aggregate代碼以下,我也不知道怎麼寫,網上也沒找到 用executeCommand 構造 aggregate時應該怎麼傳參數,函數
這是調用封裝後 aggregate函數的客戶端代碼,看起來應該是對的,都是模仿mongo控制檯aggregate命令的寫法。3d
固然就執行出錯了,拋出下以下異常,不知道它說什麼。 日誌
那就換個角度看看問題是怎麼發生(作了些什麼?),先看日誌,看到日誌,mongodb執行的是以下命令,還有參數blog
再用正確的方式,觸發一下,看一下mongodb 執行的命令和參數。接口
在mongo控制檯執行的命令固然就是正確的咯。ip
此次經過日誌看到mongodb的執行命令和參數,原來,不一樣階段的操做數是賦值給 pipeline 屬性,aggregate屬性傳的是 collectionNamepip
第二次改動後的代碼以下,正解運行了。io
當你不知道怎麼入手解決問題時,能夠先探索一下問題是怎麼發生的。ast