1、连接:mongo -uxxx 10.10.10.2:27019/abc_123 -p 123
2、用户从节点可以操作集群数据:rs.slaveOk()
3、查看有哪些集合 show collections / show tables 创建直接use collection
3、查表数据db.col.find().pretty()
4、查看集合存储大小 db.aPIKey.totalSize() 包括索引,单位字节
5、创建索引:
升序:db.collection.createIndex(keys, 1)
降序:db.collection.createIndex(keys, -1)
eg: db.col.createIndex({"title":1,"description":-1})
6、备份: mongodump -h IP --port 端口 -u 用户名 -p 密码 -d 数据库 -o 文件存在路径
7、恢复:
mongorestore -h IP --port 端口 -u 用户名 -p 密码 -d 数据库 文件存在路径
8、执行js脚本:
①:交互式执行
mongo 10.10.10.2:27019/abc_123 -uxxx -p 123
load('PWD.js’)
②:命令行执行
mongo 10.10.10.2:27019/abc_123 -uxxx -p 123 ***.js
mongo 10.10.10.2:27019/abc_123 -uxxx -p 123 --eval "printjson(db.users.findOne())"
9、倒叙查看
db.oplog.rs.find().sort({{i}`})}
11、唯一索引
db.test.ensureIndex({"userid":1},{"unique":true})
如果再次插入userid重复的文档时,MongoDB将报错,以提示插入重复键
如果插入的文档中不包含userid键,那么该文档中该键的值为null,如果多次插入类似的文档,MongoDB将会报出同样的错误
创建唯一索引,并消除重复数据:db.test.ensureIndex({"userid":1},{"unique":true,"dropDups":true})
12、执行计划分析
> db.test.find().explain()
{
"cursor" : "BasicCursor",
"nscanned" : 1,
"nscannedObjects" : 1,
"n" : 1,
"millis" : 0,
"nYields" : 0,
"nChunkSkips" : 0,
"isMultiKey" : false,
"indexOnly" : false,
"indexBounds" : {
}
}
explain会返回查询使用的索引情况,耗时和扫描文档数的统计信息。
"cursor":"BasicCursor"表示没有使用索引。
"nscanned":1 表示查询了多少个文档。
"n":1 表示返回的文档数量。
"millis":0 表示整个查询的耗时。