我是phant的新手,我无法使用mongodb找到关于phant的合适文档。因为我有很多数据,并且发生了内存溢出。最后我陷入了以下错误:
HTTP output: { [Error: EMFILE, open 'phant_streams/4d16/83403f7611e5810d57f88174fbef/stream.csv']
errno: -24,
code: 'EMFILE',
path: 'phant_streams/4d16/83403f7611e5810d57f88174fbef/stream.csv' }
events.js:87
throw Error('Uncaught, unspecified "error" event.');
^
Error: Uncaught, unspecified "error" event.
at Error (native)
at Function.emit (events.js:87:13)
at Function.<anonymous> (/usr/lib/node_modules/phant/node_modules/phant-manager-http/index.js:237:12)
at PhantMeta.<anonymous> (/usr/lib/node_modules/phant/node_modules/phant-meta-nedb/lib/phant-meta-nedb.js:243:14)
at callback (/usr/lib/node_modules/phant/node_modules/phant-meta-nedb/node_modules/nedb/lib/executor.js:30:17)
at /usr/lib/node_modules/phant/node_modules/phant-meta-nedb/node_modules/nedb/lib/datastore.js:536:25
at /usr/lib/node_modules/phant/node_modules/phant-meta-nedb/node_modules/nedb/lib/persistence.js:201:12
at fs.js:1077:21
at FSReqWrap.oncomplete (fs.js:95:15)
除此之外,有时也会出现以下错误:
FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - process out of memory
这就是为什么我想使用mongodb来防止这个错误。我搜索了这个,最后找到了mongodb的sparckfun库: https://github.com/sparkfun/phant-stream-mongodb
我安装了这个,但没有发生任何事情,因为数据仍未串入mongo。 那么,我如何将phant数据存储到mongodb?
答案 0 :(得分:1)
我遇到了同样的问题,特别是试图在Heroku上部署我自己的Phant实例(因为我想绕过Sparkfun的50Mb限制)。在尝试了mongodb和mongoose库的版本之后,我成功地分叉并修改了它们的存储库,以便您可以在本地运行它或直接在heroku上部署(只需确保配置MongoLab附加组件)。在这里查看我的分叉:https://github.com/davidlago/phant
希望这有帮助!