我需要远程调用mongoexport并从node.js获得结果
我不知道如何去做这个,我需要导出一个.mvod集合.csv。 在节点中使用spawn.child_process调用mongoexport将完成此操作,但是我的mongodb服务器和节点服务器当前在单独的机器上。
如何从我的节点服务器远程调用mongo服务器上的mongoexport,然后将.csv发送到节点服务器?
您将不得不打开MongoDB端口并连接到节点服务器。 然后使用
mongoexport --username user --password pass --host host --db database --collection coll --csv
如果在公共networking中,则使用身份validation。
http://www.mongodb.org/display/DOCS/Security+and+Authentication
否则,运行ssh命令可能会更简单,在MongoDb服务器上运行mongoexport,然后sftp回文件(也许先压缩)。
有关mongoexport的更多信息
GianPaJ给出的答案是我正在使用的解决scheme,但缺点是它只是将输出的数据输出到远程主机,而不是输出到客户端。
一个解决方法是在导出的文件上使用SCP或SFTP。 我会更新这个post,如果我找出如何实际传输该文件与mongoexport选项。
我用@ GianfrancoP的答案,但语法已过时。 您现在需要包含要导出的字段名称。 这是更新的语法:
mongoexport --username user --password pass --host host --db database --collection coll --type=csv --fields fieldname