`
chakey
  • 浏览: 363804 次
  • 性别: Icon_minigender_1
  • 来自: 水星
社区版块
存档分类
最新评论

【6】MongoDB数据导入和导出

阅读更多

MongoDB数据导入和导出

 

元数据需要事先创建好。

mongoimport

这个命令可以导入单个JSON/CSV/TSV格式的文件。文件的每一行都要是指定格式的标准格式。

需要指定一个数据库(database)和一个collection(相当于关系数据库中的表)。

×××××××××××××

options:

  --help                  produce help message

  -v [ --verbose ]        be more verbose (include multiple times for more

                          verbosity e.g. -vvvvv)

  -h [ --host ] arg       mongo host to connect to ("left,right" for pairs)

  -d [ --db ] arg         database to use

  -c [ --collection ] arg collection to use (some commands)

  -u [ --username ] arg   username

  -p [ --password ] arg   password

  --dbpath arg            directly access mongod data files in the given path,

                          instead of connecting to a mongod instance - needs to

                          lock the data directory, so cannot be used if a

                          mongod is currently accessing the same path

  --directoryperdb        if dbpath specified, each db is in a separate

                          directory

  -f [ --fields ] arg     comma seperated list of field names e.g. -f name,age

  --fieldFile arg         file with fields names - 1 per line

  --ignoreBlanks          if given, empty fields in csv and tsv will be ignored

  --type arg              type of file to import.  default: json (json,csv,tsv)

  --file arg              file to import from; if not specified stdin is used

  --drop                  drop collection first

  --headerline            CSV,TSV only - use first line as headers

  ×××××××××××××

  MongoDB提供了比JSON丰富的多的数据格式,例如JSON中没有date数据类型,但是通过如下结构:

  {"somefield" : 123456, "created_at" : {"$date" : 1285679232000}}

  mongoimport 将create_at转换为Date类型数据了。

  注意:像这里的$date这样的实现确定的数据类型必须加双引号,否则无法正确解析。

 

  mongoexport

  这个工具可以将一个collection导出为JSON为CSV格式的文件。可以指定导出哪些数据项,也可以根据给

  定的条件导出数据。

  如果想导出CSV格式的文件,需要指定数据项的次序。

  ×××××××××××××

  options:

  --help                  produce help message

  -v [ --verbose ]        be more verbose (include multiple times for more

                          verbosity e.g. -vvvvv)

  -h [ --host ] arg       mongo host to connect to ("left,right" for pairs)

  -d [ --db ] arg         database to use

  -c [ --collection ] arg where 'arg' is the collection to use

  -u [ --username ] arg   username

  -p [ --password ] arg   password

  --dbpath arg            directly access mongod data files in the given path,

                          instead of connecting to a mongod instance - needs to

                          lock the data directory, so cannot be used if a

                          mongod is currently accessing the same path

  --directoryperdb        if dbpath specified, each db is in a separate

                          directory

  -q [ --query ] arg      query filter, as a JSON string

  -f [ --fields ] arg     comma seperated list of field names e.g. -f name,age

  --csv                   export to csv instead of json

  -o [ --out ] arg        output file; if not specified, stdout is used

 ×××××××××××××

 

 mongodump

 这个用于对数据库进行备份。

  ×××××××××××××

 options:

  --help                   produce help message

  -v [ --verbose ]         be more verbose (include multiple times for more

                           verbosity e.g. -vvvvv)

  -h [ --host ] arg        mongo host to connect to ("left,right" for pairs)

  -d [ --db ] arg          database to use

  -c [ --collection ] arg  collection to use (some commands)

  -u [ --username ] arg    username

  -p [ --password ] arg    password

  --dbpath arg             directly access mongod data files in the given path,

                           instead of connecting to a mongod instance - needs

                           to lock the data directory, so cannot be used if a

                           mongod is currently accessing the same path

  --directoryperdb         if dbpath specified, each db is in a separate

                           directory

  -o [ --out ] arg (=dump) output directory

  -q [ --query ] arg       json query

   ×××××××××××××

   例如:导出所有数据库中的所有collects,使用mongodump加上--host参数就可以了,在本地会产生一个dump命名的文件夹。

    ×××××××××××××

   $ ./mongodump --host prod.example.com

   connected to: prod.example.com

   all dbs

   DATABASE: log    to   dump/log

        log.errors to dump/log/errors.bson

                713 objects

        log.analytics to dump/log/analytics.bson

                234810 objects

    DATABASE: blog    to    dump/blog

        blog.posts to dump/log/blog.posts.bson

                59 objects

    DATABASE: admin    to    dump/admin

     ×××××××××××××

 

    例如:导出指定数据库中的一个指定的collection,导出结果是一个.bson文件。

    $ ./mongodump --db blog --collection posts

      connected to: 127.0.0.1

      DATABASE: blog        to     dump/blog

        blog.posts to dump/blog/posts.bson

                 59 objects

 

 

  在mongodb 1.7.0版本或更高的版本中,还可以将指定的collect通过标准输出流输出。

  这时需要指定 --out 参数

  $ ./mongodump --db blog --collection posts --out - > blogposts.bson

  一次只能导出一个collection到标准输出流文件中。

 

  mongorestore

  这个工具获取mongodump的输出结果然后重新存储。重新存储的过程会加上索引。

  ×××××××××××××

  usage: ./mongorestore [options] [directory or filename to restore from]

options:

  --help                  produce help message

  -v [ --verbose ]        be more verbose (include multiple times for more

                          verbosity e.g. -vvvvv)

  -h [ --host ] arg       mongo host to connect to ("left,right" for pairs)

  -d [ --db ] arg         database to use

  -c [ --collection ] arg collection to use (some commands)

  -u [ --username ] arg   username

  -p [ --password ] arg   password

  --dbpath arg            directly access mongod data files in the given path,

                          instead of connecting to a mongod instance - needs to

                          lock the data directory, so cannot be used if a

                          mongod is currently accessing the same path

  --directoryperdb        if dbpath specified, each db is in a separate

                          directory

  --drop                  drop each collection before import

  --objcheck              validate object before inserting

  --filter arg            filter to apply before inserting

  --drop                  drop each collection before import

  --indexesLast           wait to add indexes (faster if data isn't inserted in

                          index order)

  ×××××××××××××

 

  注意:如果不想创建索引的话,可以从数据库导出的文件夹(dump文件夹)中删除system.indexses.bson文件。

 

  bsondump

  这个是在1.6版本中新增加的。

  这个工具将一个bson文件转换为一个json/debug输出文件。

  ×××××××××××××××

  usage: ./bsondump [options] [filename]

  options:

  --help                  produce help message

  --type arg (=json)      type of output: json,debug

  ××××××××××××××××

2
0
分享到:
评论
1 楼 mafuli007 2015-07-08  
 

相关推荐

    基于Spark与JDBC技术的MongoDB数据导入与MySQL导出处理设计源码

    本项目为基于Spark和JDBC技术的MongoDB数据导入与MySQL导出处理设计源码,包含218个文件,其中包括163个数据文件、28个Python源代码文件、11个文本文件、7个XML文件、2个IDE配置文件、2个锁定文件、2个控制文件、1个...

    mongoDb导入数据csv说明文档

    为了将数据导入 MongoDB,我们需要使用 MongoDB 提供的工具和命令。本文将详细介绍如何使用 MongoDB 导入数据,包括使用 mongoimport 命令和 JavaScript 实现远程连接。 一、MongoDB 基础知识 MongoDB 是一个基于...

    MongoDB导入与导出.pdf

    总结来说,MongoDB的`mongoexport`和`mongoimport`提供了强大的数据导入导出能力,能够灵活地处理各种数据格式,满足开发人员和管理员在数据管理中的多种需求。正确理解和使用这些工具,能有效提高工作效率,确保...

    深入分析Mongodb数据的导入导出

    本文将深入分析MongoDB的数据导入导出,主要关注其内置工具`mongoexport`和`mongoimport`。 ### 一、MongoDB导出工具:mongoexport `mongoexport`是MongoDB提供的命令行工具,用于将MongoDB集合(collection)的...

    mongogitbackup是一个将MongoDB文本导出存储在Github中的工具

    在需要恢复数据时,可以通过`mongoimport`命令将Git仓库中的文本数据导入回MongoDB数据库,确保数据的一致性。 MongoDB是目前广泛应用的NoSQL数据库,以其灵活的文档模型、高性能和高可用性而受到青睐。`...

    SqlServer数据导入MongoDB

    总之,从SQL Server到MongoDB的数据导入涉及多个阶段,包括数据准备、转换、导出、加载、验证、应用层调整和性能优化。这个过程需要深入理解两种数据库系统的特性和差异,以确保数据迁移的顺利进行,并且能够充分...

    mongodb导出导入

    在实际操作中,确保在执行这些命令时,MongoDB服务已经启动,并且在执行导入和导出操作时,根据实际情况选择合适的格式和参数,以满足数据安全、性能和兼容性的需求。同时,对大型数据集进行操作时,可能需要考虑分...

    mongo 文档及 数据备份还原及导入导出手册

    三、MongoDB 数据导入导出 1. 导出:可以使用 `mongodump` 进行数据导出,但也可以通过 `mongoexport` 直接生成 JSON 或 CSV 文件。例如,`mongoexport --host <hostname> --port <port> --db <database_name> --...

    mongodb数据分析工具

    7. 数据导入导出:可以方便地将数据导入或导出到CSV、JSON和其他格式,方便与其他系统集成或备份。 8. 分片和复制集管理:对于大型部署,Compass支持查看和管理分片集群和复制集,这对于监控和故障排查至关重要。 ...

    Mongo 数据导出、导入工具

    MongoDB 是一个流行的开源、分布式文档数据库系统,以其灵活性、高性能和易用性而受到许多开发者和企业的青睐。...在实际操作中,务必根据实际情况选择合适的参数和选项,确保数据导入导出的正确性。

    一种将oracle数据库内的数据导入到mongodb数据库的方法及系统.docx

    这种数据导入方法和系统对需要将现有Oracle数据库数据迁移到MongoDB的组织尤其有用,比如在大数据分析、互联网应用、物联网(IoT)项目等场景下,需要灵活的数据库架构和高性能的数据处理能力时。同时,对于那些希望...

    不同数据库间的导入导出

    8. **安全性与合规性**:在进行数据导入导出时,必须遵守数据保护法规,确保数据的安全性和隐私。这可能涉及数据加密、权限控制和审计日志记录。 总之,利用Java实现不同数据库间的导入导出是一个复杂但可实现的...

    数据库中的数据Excel导入导出

    总之,Excel和数据库之间的数据导入导出是数据工作者常用的操作,理解这一过程能够提升工作效率,更好地进行数据管理和分析。无论是手动操作还是编写脚本,都需要遵循一定的最佳实践,以确保数据的准确性和系统的...

    mongoDB可视化工具

    4. 数据导入导出:工具支持将数据导入到MongoDB或从MongoDB导出,可以是JSON、CSV或其他格式,便于数据迁移和备份。 5. 多服务器管理:对于运行多个MongoDB实例或分片集群的环境,可视化工具可以方便地管理多个连接...

    MongoDB 导出导入备份恢复数据详解及实例

    数据库备份和数据恢复的重要性,我想大家都知道,这里就举例说明如何操作数据备份,数据恢复的实例: 创建测试数据 创建db:testdb,collection:user,插入10条记录 mongo MongoDB shell version: 3.0.2 connecting to...

    mongodb 连接工具studio-3t-x64

    4. **导入导出**:Studio 3T 支持多种格式的数据导入和导出,包括 CSV、JSON、XML 等,这对于数据迁移或数据备份非常实用。 5. **可视化聚合**:提供可视化聚合管道编辑器,帮助开发者构建和调试 MongoDB 聚合框架...

    数据穿梭机:Navicat中的数据导入与导出指南

    6. **数据备份和还原**:提供数据备份和还原功能,保障数据安全。 7. **数据编辑**:支持数据的增删改查操作,以及数据表结构的修改。 8. **数据可视化**:提供数据可视化工具,如ER图、数据表视图等。 9. **查询...

    Mongolastic-MongoDB与Elasticsearch相互导数据的工具

    这就引出了我们的主题——"Mongolastic",一个专门用于在MongoDB和Elasticsearch之间双向导入导出数据的工具。 "Mongolastic"是基于Java开发的,这使得它具有跨平台的特性,可以在多种操作系统上运行。Java作为一门...

Global site tag (gtag.js) - Google Analytics