mongoDB常用命令

导入导出和备份恢复

mongodb数据备份和恢复主要分为2种:

  • 针对库中表的mongoexport和mongoimport
  • 针对库的mongodump和mongorestore

通用参数说明

-h IP --port 端口 -u 用户名 -p 密码
  1. mongoexport导出数据
# 导出json数据
mongoexport -d db -c collection -o save-file.dat

# 导出CSV数据
mongoexport -d db -c collection --type=csv -f field1,field2 -o save-file.dat
  • db 目标数据库
  • collection 目标集合
  • save-file.dat 要保存的文件
  • --type 指定导出的格式,默认是json
  • -f 后面是需要导出的字段名称,多个字段名用逗号隔开
  • -q 可以根据查询条件导出,-q '{ "uid" : "100" }' 导出uid为100的数据
  1. mongoimport导入数据
# 导入json数据
mongoimport -d db -c collection --file save-file.dat

# 导入CSV数据
mongoimport -d db -c collection --type=csv --headerline --file save-file.dat
  • db目标数据库
  • collection目标集合
  • save-file.dat要导入的文件
  • --type指定导出的格式,默认是json
  • --headerline 表名明不导入第一行的header
  • --upsert:插入或者更新现有数据
  • --drop 先删除所有的记录,然后恢复
  1. mongodump备份数据
mongodump -d db
mongodump -d db -o save-dir
  • db目标数据库
  • save-dir要保存的文件目录,默认是dump
  1. mongorestore备份数据
mongorestore -d db
mongorestore -d db save-dir
  • db目标数据库
  • save-dir要保存的文件目录,默认是dump
  • --drop 先删除所有的记录,然后恢复

数据大小

  • 获取mongoDB中数据库的大小
> use databasename
> db.stats()
{
  "collections" : 3,
  "objects" : 80614,
  "dataSize" : 21069700,
  "storageSize" : 39845376,
  "numExtents" : 9,
  "indexes" : 2,
  "indexSize" : 6012928,
  "ok" : 1
}

storageSize 表示的就是数据库的大小,显示出的数字的单位是字节
indexSize 表示索引大小

  • 获取MongoDB中collection大小
db.collection.totalSize()      // collection中索引+data所占空间
db.collection.dataSize()       // collection中的数据大小
db.collection.storageSize()    // 为collection分配的空间大小,包括未使用的空间
db.collection.totalIndexSize() // collection中索引数据大小

查看连接数

xx:PRIMARY> db.serverStatus().connections
{ "current" : 1210, "available" : 78790, "totalCreated" : 2132 }

命令行执行 json

mongo --nodb run.json

# run.json
conn = new Mongo("localhost:27017");
db = conn.getDB("testdb");
db.test.find()

四种运行方式参考

原文地址:https://www.cnblogs.com/hiyang/p/12630034.html