我可以使用mongoimport
将csv数据导入到非meteor mongodb数据库中,但我不知道如何将csv导入到我的meteor app数据库中。
我学会了如何为我的meteor应用程序(meteor mongo
)运行mongoimport
shell,但我不能从shell运行mongo shell。
mongoimport
的mongodb文档说
在本例中,mongoimport将/opt/backups/contacts.csv中的csv格式数据导入到MongoDB实例上运行的本地主机端口号为27017的用户数据库中的联系人集合中。
mongoimport --db用户--集合联系人--类型csv --file /opt/backups/contacts.csv
但当我运行mongod
时,启动我的meteor应用程序,然后运行它导入到我的test
数据库中的mongoimport
,而不是我的应用程序数据库。
我读了这篇stackoverflow帖子评论:
使用mongoexport将您的收藏单独转储,然后使用mongoimport将文件导入meteor mongodb实例中名为meteor的数据库中。meteor mongo实例运行在端口3002上,bind_address为127.0.0.1,数据文件位于meteor项目子目录.meteor/local/db中
但我不知道如何连接到该实例,也不知道如何使用mongoimport
命令将其作为目标。
发布于 2013-03-12 23:52:09
看起来我刚刚在Rahuls wonderful answer上回复了你的评论。无论如何,为您的操作系统从mongodb.org下载mongodb (或一个包管理器,如macports),并使用bin文件夹中提供的工具。mongoimport
不是mongo shell中的命令,它是单独运行的可执行文件。
另外,别忘了把端口放进去(如果你以3000的速度运行你的meteor实例,通常是3001 ),而且db通常是meteor而不是用户
mongoimport -h localhost:3001 --db meteor --collection contacts --type csv --file /opt/backups/contacts.csv
发布于 2014-03-03 01:34:12
注意:对于我来说,上面的方法在端口3002上不起作用,但在端口3001上起作用。
为了将外部TSV文件导入meteor数据库,我启动了需要TSV数据的meteor应用程序。这也会启动meteor mongodb服务(在我的示例中是主机: localhost:3001),然后我在OSX中打开一个终端,并通过该终端导航到mongodb包的bin文件夹,该文件夹是我之前下载的,目的是获取二进制文件"mongoimport“。在mongodb包的bin文件夹中,然后在命令提示符下输入以下内容(一些开关选项将切换-- vary...but,--localhost和--db开关/值应该如下所示):
$ ./mongoimport --host localhost:3001 --db meteor --collection datarefs --type tsv --drop --headerline --file /PathToFile/DataRefs.tsv
点击enter后,mongoimport在终端回显成功导入。完成后,我可以通过终端导航到meteor应用程序并启动meteor mongo:$meteor mongo....and查看此应用程序的meteor db中导入的集合"datarefs“。
$ meteor mongo
...
...
meteor:PRIMARY> show collections
datarefs
system.indexes
meteor:PRIMARY>
发布于 2014-04-16 00:17:07
首先在meteor app中创建集合,如下所示
Students = new Meteor.Collection("students");
然后添加一些虚拟值,以确保meteor初始化了集合
例如,在某些单击事件中的Students.insert({"name":"first"});
。要进行检查,请使用以下命令
meteor:PRIMARY> show collections students system.indexes
然后导入。mongoimport -h localhost:3001 -d meteor -c students < students.json
不知何故,meteor不能识别新导入的集合,你需要将它们全部移除,添加一些虚拟值,然后再次导入,或者创建一个新的,并用虚拟值初始化它,然后import.There可能会出现绑定错误,因为集合正好在minimongo中显示。
感谢Akshat和Tom Kyler
https://stackoverflow.com/questions/15365747
复制相似问题