【问题标题】:Import a data base file.json into robo3T (robomongo)将数据库 file.json 导入 robo3T (robomongo)
【发布时间】:2020-09-14 00:52:52
【问题描述】:

我有一个名为 services.json 的文件,其中包含我从 windows mongodb 导出的数据库,我想将该文件导入 Ubuntu 上的 robomongo(连接到由 npm 安装的 mongodb)。

我是初学者,不知道如何继续,使用哪个终端(robomongo 或 Ubuntu)?

【问题讨论】:

  • Robomongo — 是一个以 shell 为中心的跨平台 MongoDB 管理工具。提供漂亮的图形用户界面

标签: mongodb mean-stack nosql


【解决方案1】:

为 Robomongo 中的集合导入数据:

  1. 右键点击收藏。
  2. 选择“插入文档”。
  3. 粘贴您的 json 数据
  4. 点击验证。
  5. 点击保存。

【讨论】:

  • 这种方法的唯一问题是在解析大型 JSON 文件时 UI 变得多么不负责任。
  • 此方法创建一个包含 500 个子参数的文档,而不是创建 500 个文档...
  • 正如@BartolomeuS.Gusella 所说,这只会在数据库中插入1个文档。为了添加多个文档,这是行不通的。可能this 会这样做
  • 此方法不适用于非常大的集合
【解决方案2】:

好的,我找到了答案。在 shell Mac OS X 或 Unix 中输入:

$ mongoimport -d your Database Name -c your Collection Name --file /path/to/my/fileThatIwantToImport.json

【讨论】:

  • 你知道如何导入s.th吗?如果数据库在本地环境之外,则使用 Robomongo/Mac Shell。例如。在服务器上而不访问服务器外壳?
  • @AndiGiga 我提供了一个答案,展示了如何导入远程数据库
  • 在windows上试过,效果很好mongoimport.exe存在于安装MongoDb的bin文件夹中。上面的答案对我来说很好..刚刚导入了一个 5 GB Json 文件。虽然花了一些时间
【解决方案3】:

对于希望将 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

更多信息this link

【讨论】:

    【解决方案4】:

    我没有足够的分数来评论 Varun 的回答,但是如果您使用 export jsonArray 然后使用 Robo3T (Robomongo) 导入,请确保 删除对象,以及删除方括号。

    ROBO 3T 接受的并不是真正的 JSON 格式,而是由换行符分隔的一堆 JSON 对象。

    (如果您使用export Standard,那么它已经格式化为文档插入)

    【讨论】:

    • 请注意,虽然您目前无法评论答案,但如果您有其他信息要添加,可以建议对帖子进行编辑。您可以通过点击帖子文本下方的“编辑”链接来完成此操作。
    【解决方案5】:

    RoboMongo 只是 mongod 的 UI,它是 MongoDB 系统的主要守护进程

    从 RoboMongo 导入的唯一选项是

    Right Click on Collection -> Insert Document
    

    除此之外,您还可以从终端使用 mongoimport 命令导入。

    1. 打开终端并输入 mongo
    2. 现在在 mongo 交互式 shell 中
    3. 使用以下命令将json文件导入为集合

    mongoimport -d database_name -c collection_name --file

    【讨论】:

      【解决方案6】:

      如果这不是 bson,而只有 json,则可以使用 mongoimport --jsonArray 。参考Insert json file into mongodb

      【讨论】:

        【解决方案7】:

        经过测试:

        mongoimport --jsonArray -d <DataBase Name> -c <Collection Name> --file /path/to/my/fileThatIwantToImport.json
        

        效果很好!

        【讨论】:

        • 我想指出,我访问了手册页以找出 csv 文件,这可以使用 --type csv 标志代替 --jsonArray
        【解决方案8】:

        Insert Document 会将所有 JSON 文件数据插入到单个文档下。 显然该工具不支持 JSON 导入。

        【讨论】:

          【解决方案9】:

          有两种方法可以将数据库导入 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
          

          有关更多详细信息,请查看本文。 Import MongoDB using shell and robomongo/Robo 3T

          【讨论】:

            猜你喜欢
            • 2018-01-12
            • 2019-10-05
            • 1970-01-01
            • 1970-01-01
            • 2015-05-21
            • 2015-04-01
            • 2010-11-06
            • 2011-06-24
            • 2018-02-05
            相关资源
            最近更新 更多