Delete Bulk Records in a sharded collection

We have sharded collection with ~104 million documents and want to remove around 12M documents from the collection based on a filter condition. I have tried Unordered Bulk but still query is getting timedout. Please provide some better approach
var bulk = db.coll.initializeUnorderedBulkOp();
bulk.find({“periodId”: “”, Source: { $exists : false }}).remove();
bulk.execute();

Make sure you have index in place for periodId.

Also, you can instead do the remove op in batches so that each batched remove can finish within operation timeout if any (Mongodb has a number of timeout values in different scenarios)

Hi Kobe …Index is already available