pymongo
whois_dict = Mongo.coll['dirUrl'].find({"$or":[{"URL":{"$regex":"com"}},{"URL":{"$regex":"sh"}}]})
#模糊查询
query = Mongo.coll['dirUrl'].find({"URL": {"$regex": "com"}})
#多个模糊查询
query = Mongo.coll['dirUrl'].find({"URL": {"$regex": "com|sh"}})
#过滤字段
query = Mongo.coll['dirUrl'].find({}, {"_id":0, "key": 1})
#时间范围查询
query = Mongo.coll['dirUrl'].find({"URL": {"$gte": "2017-04-25"}})
query = Mongo.coll['dirUrl'].find({"URL": {"$gte": "2017-04-25", "$lt": "2017-04-26"}})
[ Mongodb ] 全量备份和增量备份
https://www.cnblogs.com/hukey/p/11512062.html
MongoDB分布式集群搭建(副本集+分片集群)、数据备份与恢复
https://blog.csdn.net/Powerful_Fy/article/details/103615902
https://docs.mongodb.com/v4.2/reference/program/mongodump/
time mongodump --host="localhost:27019" --readPreference=secondary -d db -c collection -q '{"data_date":{"$gt":"2021-01-01"}}' -o /dump/mongodb/tmp
## 备份指定库
mongodump --port 20000 -d db1 -o /tmp/mongobak
ls /tmp/mongobak
## 备份指定集合
mongodump --port 20000 -d db1 -c cl01 -o /tmp/mongobak
## 备份所有库
mongodump --port 20000 -o /tmp/mongobak
## 导出集合为josn
mongoexport --port 20000 -d db1 -c cl01 -o /tmp/cl01.json
head -5 /tmp/cl01.json
## 恢复所有库
mongorestore --port 20000 --drop /tmp/mongobak/
## 恢复指定库
mongorestore --port 20000 -d db1 /tmp/mongobak/db1/
## 恢复指定集合
mongorestore --port 20000 -d db1 -c cl01 /tmp/mongobak/db1/cl01.bson
## 将json文件的数据导入集合
mongoimport --port 20000 -d db1 -c cl01 --file /tmp/cl01.json
Mongodb副本集+分片集群环境部署
https://www.cnblogs.com/nulige/p/7613725.html
mongoDB中分片与复制(副本集)的关系
https://blog.csdn.net/baidu_36095053/article/details/80192239
阿里云数据库MongoDB版清理oplog日志和compact命令详解
https://www.cnblogs.com/Sungeek/p/12022625.html
MongoDB高可用集群+MMS集群监控搭建
https://blog.csdn.net/silentwolfyh/article/details/54136867
随我来使用mongodb mms服务
http://www.ttlsa.com/mms/follow-me-to-use-mongodb-mms-services/
rs.reconfig()
https://docs.mongodb.com/manual/reference/replica-configuration/
mongo慢日志
开启慢日志
# 为所有数据库开启慢查询记录
db.setProfilingLevel(2)
# 指定数据库,并指定阈值慢查询 ,超过20毫秒的查询被记录
use testdb.setProfilingLevel(1, { slowms: 20 })
# 随机采集慢查询的百分比值,sampleRate 值默认为1,表示都采集,0.42 表示采集42%的内容。
db.setProfilingLevel(1, { sampleRate: 0.42 })
# 查询慢查询级别和其它信息
db.getProfilingStatus()
# 仅返回慢查询级别
db.getProfilingLevel()
# 禁用慢查询
db.setProfilingLevel(0)
参考链接:https://www.jianshu.com/p/27775ae48f29
获取慢日志
# 查询最近的10个慢查询日志
db.system.profile.find().limit(10).sort( { ts : -1 } ).pretty()
# 查询除命令类型为'command'的日志
db.system.profile.find( { op: { $ne : 'command' } } ).pretty()
# 查询数据库为 mydb 集合为 test 的 日志
db.system.profile.find( { ns : 'mydb.test' } ).pretty()
# 查询 低于5毫秒的日志
db.system.profile.find( { millis : { $gt : 5 } } ).pretty()
# 查询时间从 2012-12-09 3点整到 2012-12-09 3点40分之间的日志
db.system.profile.find({ts : {$gt: new ISODate("2012-12-09T03:00:00Z"), $lt: new ISODate("2012-12-09T03:40:00Z")}}).pretty()
## 命令行获取mongo慢日志
mongo -h xxx -p 27017 dbname --eval "db.system.profile.find().limit(200)"
## 命令行获取正在执行的操作
mongo --eval "db.currentOp()"
mongo日志级别
# 查询日志详细等级的命令
db.getLogComponents()
# 修改日志详细等级
db.adminCommand({ setParameter: 1, logComponentVerbosity: { verbosity: 1, query: { verbosity: 2}}})
# 恢复原级别
db.adminCommand({ setParameter: 0, logComponentVerbosity: { verbosity: 0, query: { verbosity:-1}}})
参考链接:https://blog.csdn.net/sinat_41780498/article/details/106124417