一. MongoDB基本命令
1.显示数据库服务器上的数据库
> show dbs
2.切换到指定数据库
> use config
3.显示数据库中所有集合
> show collections
4.查看数据库服务器的状态
通过查看数据库服务器的状态,解压判断数据库是否存在问题,如有问题,可以及时执行修复。
> db.serverStatus()
5.查询指定数据库统计信息
> use local
> db.stats()
6.查询指定数据库包含的集合名称列表
> db.getCollectionNames()
7.锁定数据库和解锁数据库
> db.fsyncLock() #锁定
> db.fsyncUnlock() #解锁
二. 基本DDL和DML
1.创建数据库
如果数据库不存在,则创建数据库,否则切换到执行数据库。
> use test
以上图片可以看到,刚刚创建的数据库test并不在数据库列表中,要显示它,需要向test数据库插入一些数据。
2.删除数据库
> db.dropDatabase()
首先查看所有的数据库:show dbs
接下来切换到数据库test:use test
执行删除命令:db.dropDatabase()
最后再次查看是否删除成功:show dbs
3.创建集合
> db.createCollection(name,options)
参数说明:
name:要创建的集合名称
options:可选参数,指定有关内存大小及索引的选项
options可选参数:
capped:如果为true,则创建固定集合。固定集合是指有着固定大小的集合,当达到最大值时,它会自动覆盖最早的文档。当该值为true时,必须指定size参数。
size:为固定集合指定一个最大值,即字节数。如果capped为true,也需要指定该字段。
max:指定固定集合中包含文档的最大数量。
在插入文档时,MongoDB首先检查固定集合的size字段,然后再检查max字段。
在test数据库中创建runoob集合:
> use test
> db.createCollection("runoob")
如果要查看已有的集合,可以使用show collections或show tables命令:
> show collections
> show tables
创建固定集合mycol,整个集合空间大小6142800KB,文档最大个数为10000个:
> db.createCollection("mycol",{capped:true,size:6142800,max:10000})
在MongoDB中,不需要创建集合。当你插入一些文档时,MongoDB会自动创建集合:
> db.mycol2.insert({"name":"hello"})
> show collections
4.删除集合
> db.collection.drop()
如果成功删除选定集合,则drop()方法返回true,否则返回false。
在数据库test中,可以先通过show collections命令查看已存在的集合:
> use test
> show collections
接下来删除集合mycol2,再次查看数据库test中的集合:
> db.mycol2.drop()
> show collections
三. 备份恢复和迁移管理
1.备份全部数据库
mkdir testbak
cd testbak/
mongodump
2.备份指定数据库
mongodump -d test
3.备份一个数据库中的某个集合。
mongodump -d test -c mycol
4.恢复全部数据库
mongorestore --drop
将备份的所有数据库恢复到数据库,–drop指定恢复数据之前删除原来的数据库数据,否则会造成恢复后的数据中的数据重复。
5.恢复某个数据库的数据
mongorestore -d test --drop
6.恢复某个数据库的某个集合的数据。
mongorestore -d test -c mycol --drop
7.向MongoDB导入数据
mongoimport -d test -c mycol --type csv --headerline --drop < csvORtsvFile.csv
将文件csvORtsvFile.csv的数据导入到test数据库的mycol集合中,使用CVS或tsv文件的列名作为集合的列名。