Завершение долгих операций mongodb
Показывает запросы дольше 5с с ns и завершает каждый через killOp; прим.: killOp асинхронна, проверьте результат
mongosh --eval 'db.currentOp({secs_running:{$gt:5},op:{$ne:"none"}}).inprog.forEach(o=>{print(o.opid,o.secs_running,o.ns); db.killOp(o.opid)})'
more mongodb
all 20 commands →
План запроса со статистикой
mongosh --eval 'db.<name>.find({status:"active"}).explain("executionStats").executionStats'
Поиск неиспользуемых индексов
mongosh --eval 'db.<name>.aggregate([{$indexStats:{}}]).forEach(i=>print(i.name,i.accesses.ops))'
Профилирование медленных запросов
mongosh --eval 'db.setProfilingLevel(1,{slowms:100}); db.system.profile.find().sort({millis:-1}).limit(5)'
Подключиться через mongosh
mongosh 'mongodb://user:pass@mongo:27017/dbname'
Статус replica set
mongosh --eval 'rs.status()' mongodb://mongo:27017