我正試圖從CasperJS中將記錄插入到MongoDB集合中,但在第一個障礙處我被阻止。如何在CasperJS中需要MongoDB?
我第一次在我的應用程序的根目錄下運行以下命令安裝的MongoDB:
npm install mongodb
這成功完成,沒有任何錯誤。
我有叫server.js一個CasperJS文件,其中包含此行:
var db = require('mongodb');
當我嘗試運行casperjs server.js
這一點,我得到以下錯誤:
js-bson: Failed to load c++ bson extension, using pure JS version
Error: Cannot find module 'util'
/home/aaron/Documents/git/mateserver/phantomjs:/bootstrap.js:289
/home/aaron/Documents/git/mateserver/phantomjs:/bootstrap.js:254 in require
/home/aaron/Documents/git/mateserver/node_modules/mongodb/lib/mongodb/commands/insert_command.js:2
/home/aaron/Documents/git/mateserver/node_modules/mongodb/lib/mongodb/commands/insert_command.js:162
好像我缺少一個包,所以我運行命令:
npm install util
哪個運行成功所以我嘗試再次啓動我的應用程序,但得到此錯誤:
js-bson: Failed to load c++ bson extension, using pure JS version
TypeError: 'undefined' is not a function (evaluating 'inherits(InsertCommand, BaseCommand)')
/home/aaron/Documents/git/mateserver/node_modules/mongodb/lib/mongodb/commands/insert_command.js:38
/home/aaron/Documents/git/mateserver/node_modules/mongodb/lib/mongodb/commands/insert_command.js:162
而這就是我卡住的地方。我該如何解決這個問題? MongoDB與CasperJS不兼容?
我正在使用CasperJS版本1.1.0-beta3和MongoDB(通過npm安裝)版本1.4.7。主機系統是Ubuntu 14.04 64位。
謝謝。這聽起來可能比它值得的更多的努力。也許我應該花更多的時間重新編寫我在CasperJS中使用SpookyJS的內容,甚至爲一些Selenium webdriver控制器製作一些自定義封裝。 –
您可以從節點產生(或使用child_process)casper實例,將結果寫入文件,從節點讀取該文件並保存到mongodb中。 –
@ ArtjomB。 :你剛纔在這裏說的解決方案。這會工作嗎? –