Create compound index

Ascending userId + descending createdAt index

db.orders.createIndex({userId: 1, createdAt: -1}, {background: true})

tool
mongodb20 commands
tags
mongodb

More mongodb commands

  • db.orders.aggregate([{$match:{status:'paid'}},{$group:{_id:'$userId',total:{$sum:'$amount'}}},{$sort:{total:-1}},{$limit:10}])

    Top 10 users by paid order amount

  • rs.printSecondaryReplicationInfo()

    Show secondary lag and oplog window

  • db.currentOp({active:true, secs_running:{$gt:5}})

    List operations running longer than 5 seconds

  • mongodump --uri='mongodb://localhost:27017' --db=mydb --out=/backup/$(date +%F)

    Dump all collections in a database to BSON files

  • mongosh --eval 'rs.status().members.forEach(m=>print(m.name,m.stateStr,m.optimeDate))'

    Per-member state and last applied optime; spot lagging or unhealthy secondaries

all 20 mongodb commands