Mongodb操作命令

数据导入与导出

导出

mongoexport -d dbname -c collectionname -o file --type json/csv -f field

参数说明:

-d :数据库名

-c :collection名

-o :输出的文件名

–type :输出的格式,默认为json

-f :输出的字段,如果-type为csv,则需要加上-f “字段名”

导入

mongoimport -d dbname -c collectionname --file filename --headerline --type json/csv -f field

参数说明:

-d :数据库名

-c :collection名

–type :导入的格式默认json

-f :导入的字段名

–headerline :如果导入的格式是csv,则可以使用第一行的标题作为导入的字段

–file :要导入的文件

数据备份与恢复

备份

mongodump -h dbhost -d dbname -o dbdirectory

参数说明:

-h: MongDB所在服务器地址,例如:127.0.0.1,当然也可以指定端口号:127.0.0.1:27017

-d: 需要备份的数据库实例,例如:test

-o: 备份的数据存放位置,例如:/home/mongodump/,当然该目录需要提前建立,这个目录里面存放该数据库实例的备份数据。

恢复

mongorestore -h dbhost -d dbname --dir dbdirectory

参数或名:

-h: MongoDB所在服务器地址

-d: 需要恢复的数据库实例,例如:test,当然这个名称也可以和备份时候的不一样,比如test2

–dir: 备份数据所在位置,例如:/home/mongodump/itcast/

–drop: 恢复的时候,先删除当前数据,然后恢复备份的数据。就是说,恢复后,备份后添加修改的数据都会被删除,慎用!

查询操作

模糊查询

db.collection.find({name:{$regex:/joe/,$options:'<options>'}})

/^joe/ :开头匹配

/joe$/ :结尾匹配

/^joe$/ :完全匹配

options:

  • i :忽略大小写
  • m :多行匹配
  • x :忽略非转义的空白字符
  • s :单行匹配模式

update

db.collection.update(criteria,objNew,upsert,multi)

参数说明:

criteria:查询条件。

objNew:update对象和一些更新操作符。

upsert:如果不存在update的记录,是否插入objNew这个新的文档,true为插入,默认为false,不插入。

multi:默认是false,只更新找到的第一条记录。如果为true,把按条件查询出来的记录全部更新。