mongo基础操作

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 表示整个查询的耗时。

你可能感兴趣的:(mongo基础操作)