如何在我的流星应用数据库中使用mongoimport?

Max*_*ges 17 mongodb meteor

我可以使用mongoimport将csv数据导入非流星mongodb数据库,但我无法弄清楚如何将csv导入我的meteor应用程序数据库.

我学会了如何为我的meteor app(meteor mongo)运行mongo shell,但我不能mongoimport从shell 运行.

mongodb文档mongoimport

在此示例中,mongoimport将/opt/backups/contacts.csv中的csv格式数据导入到编号为27017的localhost端口上运行的MongoDB实例上的users数据库中的集合联系人中.

mongoimport --db users --collection contacts --type csv --file /opt/backups/contacts.csv

但是当我运行时mongod,启动我的meteor应用程序,并运行mongoimport它导入到我的test数据库,而不是我的应用程序数据库.

我读了这篇stackoverflow帖子评论:

使用mongoexport单独转储集合,然后mongoimport将文件导入meteor mongodb实例中名为meteor的db.meteor mongo实例在端口3002上运行,bind_address为127.0.0.1,数据文件位于meteor project子目录.meteor/local/db中

但我不明白如何连接到该实例或如何使用该mongoimport命令来定位它.

Aks*_*hat 23

看起来我刚才在拉胡尔斯的回答中回答了你的评论.无论如何,从mongodb.org为您的操作系统(或像macports这样的包管理器)下载mongodb,并使用bin文件夹中提供的工具.mongoimport它不是mongo shell中的命令,它是一个单独运行的可执行文件.

另外不要忘记将端口放入(如果你在3000运行你的流星实例,通常为3001),当你运行它时,数据库通常也是流星而不是用户

mongoimport -h localhost:3001 --db meteor --collection contacts --type csv --file /opt/backups/contacts.csv
Run Code Online (Sandbox Code Playgroud)


小智 8

注意:上面的方法对我来说不适用于端口3002,但它在端口3001上工作.

要将外部TSV文件导入流星数据库,我启动了需要TSV数据的流星应用程序.这也启动了meteor mongodb服务(在我的主机上:localhost:3001),然后我在OSX中打开了一个终端并通过终端导航到mongodb package bin文件夹,我之前为了获取二进制文件而下载了该文件夹, "mongoimport".一旦进入mongodb包的bin文件夹,然后在命令提示符下面输入以下内容(某些开关选项会有所不同......但是--host, - localhost和--db开关/值应如下所示):

$  ./mongoimport --host localhost:3001 --db meteor --collection datarefs --type tsv --drop --headerline --file /PathToFile/DataRefs.tsv
Run Code Online (Sandbox Code Playgroud)

点击进入后,mongoimport回显成功导入终端.完成后,我可以通过终端导航到流星应用程序并启动meteor mongo:$ meteor mongo ....并在此应用程序的流星数据库中查看导入的集合"datarefs".

$  meteor mongo
...
...
meteor:PRIMARY> show collections
datarefs
system.indexes
meteor:PRIMARY>
Run Code Online (Sandbox Code Playgroud)