我有一个名为 services.json 的文件,其中包含我从 windows mongodb 导出的数据库,我想将该文件导入 Ubuntu 上的 robomongo(连接到由 npm 安装的 mongodb)。
我是初学者,我不知道如何继续,使用哪个终端(robomongo 或 Ubuntu)?
我有一个名为 services.json 的文件,其中包含我从 windows mongodb 导出的数据库,我想将该文件导入 Ubuntu 上的 robomongo(连接到由 npm 安装的 mongodb)。
我是初学者,我不知道如何继续,使用哪个终端(robomongo 或 Ubuntu)?
好的,我找到了答案。在 shell Mac OS X 或 Unix 中输入:
$ mongoimport -d your Database Name -c your Collection Name --file /path/to/my/fileThatIwantToImport.json
对于希望将 mongoimport 与远程数据库 (@andi-giga) 一起使用的任何人,这是我为使其工作所做的工作:
mongoimport -h xxx.mlab.com --port 2700 -d db_name -c collection_name -u user_name -p password --type json --file /Path/to/file.json
参数应该是不言自明的。
-h hostname
此链接上的更多信息
我没有足够的观点来评论 Varun 的回答,但是如果您使用export jsonArray然后使用 Robo3T (Robomongo) 导入,请确保删除对象之间的逗号,并删除方括号。
ROBO 3T 接受的并不是真正的 JSON 格式,而是由换行符分隔的一堆 JSON 对象。
(如果您使用export Standard,那么它已经格式化为文档插入)
RoboMongo只是mongod的 UI,它是 MongoDB 系统的主要守护进程。
从 RoboMongo 导入的唯一选项是
Right Click on Collection -> Insert Document
除此之外,您可以从终端使用mongoimport命令导入。
mongoimport -d database_name -c collection_name --file < json文件的路径
如果这不是 bson,而只有 json,则可以使用mongoimport --jsonArray
. 参考 将json 文件插入 mongodb
测试:
mongoimport --jsonArray -d <DataBase Name> -c <Collection Name> --file /path/to/my/fileThatIwantToImport.json
它工作得很好!
插入文档将在单个文档下插入所有 JSON 文件数据。显然该工具不支持 JSON 导入。
将数据库导入 MongoDB 有两种方法。一种是使用 robomongo/Robo 3T,一种是使用 shell 命令。由于步骤较少且简单,我总是选择第二种方法。
第一种方法
在您的机器上安装 MongoDB。另外,通过在终端上使用 mongod 命令检查它是否安装正确。因此,要在 MongoDB 上导入新数据库,请在终端上编写此命令
mongostore -host <HostIp | 127.0.0.1> -port <mongoPort | 27017> -db <DBname> <Directory-path>
因此,例如,您正在使用默认端口(即 27017)在本地计算机上运行 MongoDB,并且您的数据库文件存储在 /usr/library/userDatabase 然后编写此命令并检查数据库是否已导入您的 MongoDB
mongostore -host 127.0.0.1 -port 27017 -db userDatabase /usr/library/userDatabase
有关更多详细信息,请查看这篇文章。 使用 shell 和 robomongo/Robo 3T 导入 MongoDB