我需要远程调用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