1. 导出:
mongoexport -d cloudci -c project -o /home/project.json
参数说明:
-d :数据库名;
-c :collection名;
-o :输出的文件名;
--type : 输出的格式,默认为json;
-f :输出的字段,如果-type为csv,则需要加上-f "字段名"。
2. 导入:
mongoimport -d cloudci -c project --file project.json --type json
参数说明:
-d :数据库名;
-c :collection名;
--type :导入的格式默认json;
-f :导入的字段名;
--headerline :如果导入的格式是csv,则可以使用第一行的标题作为导入的字段;
--file :要导入的文件.
3. 备份
mongodump -h dbhost -d dbname -o dbdirectory
参数说明:
-h: MongDB所在服务器地址,例如:127.0.0.1,也可以指定端口号:127.0.0.1:27017;
-d: 需要备份的数据库实例,例如:test;
-o: 备份的数据存放位置,例如:/home/back/,该目录需要提前建立,这个目录里面存放该数据库实例的备份数据。
实例:mongodump -d cloudci -o /home/back/
4. 恢复
mongorestore -h dbhost -d dbname --dir dbdirectory
参数或名:
-h: MongoDB所在服务器地址;
-d: 需要恢复的数据库实例,例如:test,这个名称也可以和备份时候的不一样,比如test2
--dir: 备份数据所在位置,例如:/home/back/;
--drop: 恢复的时候,先删除当前数据,然后恢复备份的数据。
实例: mongorestore -d cloudci --dir /home/back/cloudci
5. 创建索引
rsCloursCloudci:PRIMARY> db.builds.ensureIndex({projectName:1}, {background: true})
{
"createdCollectionAutomatically" : false,
"numIndexesBefore" : 1,
"numIndexesAfter" : 2,
"ok" : 1
}
6. 查看索引
rsCloudci:SECONDARY> db.builds.getIndexes()
[
{
"v" : 1,
"key" : {
"_id" : 1
},
"name" : "_id_",
"ns" : "cloudci.builds"
},
{
"v" : 1,
"key" : {
"projectName" : 1
},
"name" : "projectName_1",
"ns" : "cloudci.builds",
"background" : true
}
]
7. mongo执行升级脚本
mongo localhost:27017/dbname dbaStatCollections.js