MongoDB 日常操作

查询存在某个属性的记录

db.getCollection('Machine').find({LineCapacityCount:{ $exists: true }})

 

删除Machine文档中 Parameter对象的STD::STATUS属性,

{} 表示所有

{"multi":true} 表示多行

db.Machine.update({},{"$unset":{"Parameter.STD::STATUS":""}},{"multi":true})

Mongo备份

mongodump -h localhost:27017 -u btlsystem -p 123qwe -d BTL_HanDeCheQiao -o E:\MongoBackup -c Machine

-h  ---ip 端口
-u  --- 用户名
-d  --- 数据库名字
-p  --- 密码

 

Mongo 还原

mongorestore -h 192.168.137.1:27017 -u btlsystem -p 123qwe -d BTL_HanDeCheQiao_Online --dir E:\临时用\BTL_HanDeCheQiao_Online

 需要先使用root账号登录,创建 btlsystem 账户

 

CPU占用过高分析

db.currentOp(true)   //查看当前正在进行的请求

查看语句执行日志功能状态

db.getProfilingStatus()

开启语句执行日志

db.setProfilingLevel(1,100)   //100ms以内的记录

 开启语句执行日志

db.system.profile.find().sort({$natural:-1})

根据日志内容,可以看出语句设计的表,查询条件,参数,执行时间等信息,可以根据多个请求的创建时间判断请求频率。

db.setProfilingLevel(1,100);

posted @ 2020-10-12 13:40  も不秃不秃  阅读(122)  评论(0编辑  收藏  举报