Home > Net >  How to check index creation progress in MongoDB via shell
How to check index creation progress in MongoDB via shell

Time:01-13

On a large collection of billions records in MongoDB an index creation is submitted. I run db.getCollection('mycollection').aggregate([ { "$indexStats": { } } ] ) and i get result containing property building:true.

Question: How could I check the progress of the index building e.g. percentage complete?

CodePudding user response:

db.currentOp https://www.mongodb.com/docs/manual/reference/command/currentOp/

It returns a lot, but you are interested in a document where command has createIndexes or msg string contains "Index Build".

If the output is too noisy, you can filter running adminCommand directly:

db.adminCommand(
    {
      currentOp: true,
      $or: [
        { op: "command", "command.createIndexes": { $exists: true }  },
        { op: "none", "msg" : /^Index Build/ }
      ]
    }
)

The field progress of the document reveals done and total. You can do the math.

  • Related