首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在我的meteor应用程序数据库中使用mongoimport?

如何在我的meteor应用程序数据库中使用mongoimport?
EN

Stack Overflow用户
提问于 2013-03-12 23:47:24
回答 4查看 14.4K关注 0票数 18

我可以使用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命令将其作为目标。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 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
票数 23
EN

Stack Overflow用户

发布于 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>
票数 8
EN

Stack Overflow用户

发布于 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

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15365747

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档