Days(11.14)
mongodb之前都是负责搭建、维护、备份、监控等操作。闲时来总结一下语法。
查询
根据条件查询数据量
登录数据库操作
1 | > db.getCollection('Tables').find({"字段":"条件","字段":"条件"}).count(); |
查看数据库表
1 | > show collections |
查看mongodb的连接数
1 | > db.serverStatus().connections |
创建
创建用户、数据库
创建数据库
1
> use xxx
创建一个用户,拥有基本的读写权限
1
> db.createUser({user:"xxx",pwd:"xxx",roles:[{role:"readWrite",db:"xxx"}]})
创建用户需要赋予dbAdmin权限
dbAdmin: 允许用户在指定数据库中执行管理函数,如索引创建、删除,查看统计或访问system.profile
1 | > db.createUser({user:"demo",pwd:"demo",roles:[{role:"readWrite",db:"kxlChannel"},{role:"dbAdmin",db:"kxlChannel"}]}) |
注: role 权限要是readWrite,不能赋予dbadmin,否则不能操作数据库
删除
删除账户和数据库
删除账户
1
> db.dropUser("xxx")
删除数据库
1
2
3
4
5> db.dropDatabase("xxx")
# 还可以
> use names
> db.dropDatabase()
索引
创建索引
1 | > db.表.ensureIndex({"字段":1},{"unique":true}) |
查看索引
1 | > db.表.getIndexes() |
查看表数据是否引用了索引
1 | > db.表.find({"字段":"值"}).explain() |
删除指定索引
1 | > db.表.dropIndex("索引") |
删除表全部索引
1 | > db.表.dropIndexes() |
备份
根据条件导出部分数据
1 | $ mongoexport --db=数据库 --collection=表 --username=账户 --password=密码 --authenticationDatabase=认证的数据库 --query='{"条件","条件"}' --fields="导出的字段" --type=csv --out=/home/ll |
- 参数介绍:
–db: 数据库
–collection: 表
–username: 账户
–password: 密码
–authenticationDatabase: 需要认证的数据库
–query: 条件
–fields: 导出的字段
–type: 导出的格式,默认是json,这里导出为csv,支持两种json和csv格式
–out: 导出路径文件
更多参数参考 –help
1 | general options: |
mongodb 备份脚本可以参考本人写的