mongodb 导入导出

(mongoexport导出工具

MongoDB提供了mongoexport工具,可以把一个collection导出成json格式或csv格式的文件。可以指定导出哪些数据项,也可以根据给定的条件导出数据。工具帮助信息如下:

[[email protected] bin]# ./mongoexport --help
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 ( /s1,s2 for sets)
--port arg server port. Can also use --host hostname:port
--ipv6 enable IPv6 support (disabled by default)
-u [ --username ] arg username
-p [ --password ] arg password
--dbpath arg directly access mongod database files in the given
path, instead of connecting to a mongod server -
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
-d [ --db ] arg database to use
-c [ --collection ] arg collection to use (some commands)
-f [ --fields ] arg comma separated list of field names e.g. -f name,age
--fieldFile arg file with fields names - 1 per line
-q [ --query ] arg query filter, as a JSON string
--csv export to csv instead of json
-o [ --out ] arg output file; if not specified, stdout is used
--jsonArray output to a json array rather than one object per
line
[[email protected] bin]#

下面我们将以一个实际的例子说明,此工具的用法:

将foo库中的表t1导出成json格式:

[[email protected] bin]# ./mongoexport -d foo -c t1 -o /data/t1.json
connected to: 127.0.0.1
exported 1 records
[[email protected] bin]#

导出成功后我们看一下/data/t1.json文件的样式,是否是我们所希望的:

[[email protected] data]# more t1.json
{ "_id" : { "$oid" : "4f927e2385b7a6814a0540a0" }, "age" : 2 }
[[email protected] data]#

通过以上说明导出成功,但有一个问题,要是异构数据库的迁移怎么办呢?例如我们要将MongoDB的数据导入到MySQL该怎么办呢?MongoDB提供了一种csv的导出格式,就可以解决异构数据库迁移的问题了. 下面将foo库的t2表的age和name列导出, 具体如下:

[[email protected] bin]# ./mongoexport -d foo -c t2 --csv -f age,name -o /data/t2.csv
connected to: 127.0.0.1
exported 1 records
[[email protected] bin]#

查看/data/t2.csv的导出结果:

[[email protected] data]# more t2.csv
age,name
1,"wwl"
[[email protected] data]#

mongoimport导入工具

MongoDB提供了mongoimport工具,可以把一个特定格式文件中的内容导入到某张collection中。工具帮助信息如下:

[[email protected] bin]# ./mongoimport --help
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 ( /s1,s2 for sets)
--port arg server port. Can also use --host hostname:port
--ipv6 enable IPv6 support (disabled by default)
-u [ --username ] arg username
-p [ --password ] arg password
--dbpath arg directly access mongod database files in the given
path, instead of connecting to a mongod server -
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
-d [ --db ] arg database to use
-c [ --collection ] arg collection to use (some commands)
-f [ --fields ] arg comma separated 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
--upsert insert or update objects that already exist
--upsertFields arg comma-separated fields for the query part of the
upsert. You should make sure this is indexed
--stopOnError stop importing at first error rather than continuing
--jsonArray load a json array, not one item per line. Currently
limited to 4MB.

下面我们将以一人实际的例子说明,此工具的用法:

先看一下foo库中的t1表数据:

> db.t1.find();
{ "_id" : ObjectId("4f937a56450beadc560feaa9"), "age" : 5 }
>

t1其中有一条age=5的记录, 我们再看一下json文件中的数据是什么样子的:

[[email protected] data]# more t1.json
{ "_id" : { "$oid" : "4f937a56450beadc560feaa7" }, "age" : 8 }
[[email protected] data]#

可以看到t1.json文件中有一条age=8的数据,下面我们将用mongoimport工具将json文件中的记录导入到t1表中:

[[email protected] bin]# ./mongoimport -d foo -c t1 /data/t1.json
connected to: 127.0.0.1
imported 1 objects

工具返回信息说明向表中插入了一条记录. 我们进库里实际验证一下:

[[email protected] bin]# ./mongo
MongoDB shell version: 1.8.1
connecting to: test
> use foo
switched to db foo
> db.t1.find();
{ "_id" : ObjectId("4f937a56450beadc560feaa9"), "age" : 5 }
{ "_id" : ObjectId("4f937a56450beadc560feaa7"), "age" : 8 }
>

mongodb 导入导出

时间: 2024-10-11 05:34:48

mongodb 导入导出的相关文章

(8)mongodb 导入导出

mongodb 可以导出 json.csv.二进制格式.导出的工具是 mongoexport,在/bin 目录下.导出导入的参数有以下一些: -h:服务器路径 --port:端口号 -d:database 数据库 -c:collection 表 -f:field 列 -q:query 查询条件 --csv:导出csv 格式,csv 可以用excel打开,mysql可以直接导入 csv 格式的数据,csv 格式的数据方便在不同数据库之间转换 -o:导出文件名 --type:导入的类型 csv/js

mongodb导入导出备份恢复

mongodb数据库同样离不开必要的维护,如备份.恢复.导入.导出. 其实备份和恢复比导入和导出要方便些,而且一般不会出错,所以大部分时候使用备份和恢复操作就可以了 1. 备份Mongodb mongodump -h RuiyIp -d dataname -o /home/aa/dev/mongodb/data mongodump mongo导出数据库命令 mongodump --help 可以查看该命令下所有的帮助 -h 导出源 -d 要导出的数据库名称 -o 数据库要导出的位置 在终端滚过N

【转】MongoDB导入导出以及数据库备份

-------------------MongoDB数据导入与导出------------------- 1.导出工具:mongoexport 1.概念: mongoDB中的mongoexport工具可以把一个collection导出成JSON格式或CSV格式的文件.可以通过参数指定导出的数据项,也可以根据指定的条件导出数据. 2.语法: mongoexport -d dbname -c collectionname -o file --type json/csv -f field 参数说明:

MongoDB导入导出以及数据库备份

-------------------MongoDB数据导入与导出-------------------1.导出工具:mongoexport1.概念:mongoDB中的mongoexport工具可以把一个collection导出成JSON格式或CSV格式的文件.可以通过参数指定导出的数据项,也可以根据指定的条件导出数据.2.语法:mongoexport -d dbname -c collectionname -o file --type json/csv -f field参数说明:-d :数据库

MongoDB的导入导出

一:MongoDB的导出功能 mongodb提供了导入和导出的功能,分别是MongoDB下载目录下的mongoexport.exe和mongoimport.exe文件 ,具体的导出命令格式如下: mongoexport -h dbhost -d dbname -c collectionName -o output 参数说明: -h 数据库地址 -d 指明使用的库 -c 指明要导出的集合 -o 指明要导出的文件名(文件支持多种格式,如txt,wps,xls等) 具体示例: mongoexport

Linux下mongodb安装及数据导入导出教程

Linux下mongodb安装及数据导入导出教程 #查看linux发行版本 cat /etc/issue #查看linux内核版本号 uname -r 一.Linux下mongodb安装的一般步骤 1.到mongodb的官网(https://www.mongodb.org/downloads) 下载相应你系统的安装包,拷贝(能够用ftp工具如winscp)到你的linux系统上面. 2.解压相应的安装包 命令例如以下:tar zxvf mongodb-linux-x86_64-3.0.4.tgz

5.非关系型数据库(Nosql)之mongodb:创建集合,备份与导入导出, 数据还原,导入导出

 1 固定集合 固定集合值得是事先创建而且大小固定的集合 2 固定集合的特征:固定集合很像环形队列,如果空间不足,最早文档就会被删除,为新的文档腾出空间.一般来说,固定集合适用于任何想要自动淘汰过期属性的场景,没有太多的操作限制. 3 创建固定集合使用命令: db.createCollection("collectionName",{capped:true,size:100000,max:100}); size:指定集合大小,单位为KB,max指定文档的数量 当指定文档数量上限时,

MongoDB的导入导出(7)

导入/导出可以操作的是本地的mongodb服务器,也可以是远程的. 所以,都有如下通用选项: -h host   主机 --port port    端口 -u username 用户名 -p passwd   密码 mongoexport 导出json格式的文件 问: 导出哪个库,哪张表,哪几列,哪几行? -d  库名 -c  表名 -f  field1,field2...列名 -q  查询条件 -o  导出的文件名 -- csv  导出csv格式(便于和传统数据库交换数据) 例: [[ema

mongodb的导入/导出/备份/还原

mongodb的导入/导出/备份/还原 1.mongoexport是mongo自带的数据导入工具,使用方法比较简单, 以下是mongoexport常用的几个参数. [[email protected] admin]# mongoexport --help -h [ --host ]              #  主机ip --port                   # 端口 -u [ --username ]          # 验证用户名 -p [ --password ]