我可以使用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)