1、连接实例
mongo --host xxx.mongodb.rds.aliyuncs.com --username mtl_rnd --port 3717 tm_data --password mtl_rnd@123
## tips
# MongoDB shell version v4.2.0 版本需要高于mongo sever的版本,不然连接报错
2、基本操作
2.1、查看所有db
show dbs;
2.2、切换db
use db_name;
2.3、查看db下面所有的文档
db.getCollectionNames();
2.4、rename表
db.your_coll_name.renameCollection('new_name');
# rename 操作只修改metadata,瞬间完成
# refer https://docs.mongodb.com/manual/reference/method/db.collection.renameCollection/
2.5、 查询语句
## 单条件等值查询 (select * from your_coll_name where name = 'wjf')
db.your_coll_name.find({'name':'wjf'})
## 多条件等值查询 (select * from your_coll_name where name = 'wjf' and age = '17')
db.your_coll_name.find({name:'wjf', 'age': ‘17’})
## 查询出指定列 (select age from your_coll_name where name = 'wjf')
db.your_coll_name.find({'name':'wjf'},{age: 1})
# limit使用 (以下两个写法的结果集的类型还是略有不同,limit是一行记录的列表,findOne是一条记录)
db.your_coll_name.find().limit(1)
db.your_coll_name.findOne()
# 非等值查询 (select * from your_coll_name where age>=23 and age<=26 )
db.your_coll_name.find({age: {$gte: 23, $lte: 26}})
# lt 小于 gt 大于 lte 小于等于 gte 大于等于
# 模糊查询 (select * from your_coll_name where name like '%www%')
db.your_coll_name.find(name: /www/);
# 模糊查询 (select * from your_coll_name where name like 'www%')
db.your_coll_name.find(name: /^www/);
# 排序操作 1 为正序,-1为倒序
db.your_coll_name.find().sort({age: 1})
3、慢查询和kill
### 查询mongo当前慢查询
db.currentOp({ "active":true, "secs_running":{ "$gt":200}})
### 杀掉会话
db.killOp(opid)
4、索引维护
# 新建索引 (大小写区分,再4.2版本之前,该操作阻塞DML操作,需要手工指定background参数才行,4.2版本之后,默认使用online方式新建,不会阻塞dml)
db.your_coll_name.createIndex()
# 查看所有索引占用空间
db.your_coll_name.totalIndexSize();
# 查看所有索引
db.your_coll_name.getIndexes();
5、 参考链接
基本操作: https://www.cnblogs.com/wpjzh/p/5999363.html
官方文档:https://docs.mongodb.com/manual/reference/method/db.collection.renameCollection/