When the database is indexed, by default, "foreground" is the foreground index, but when you have a large amount of database data, when the index will be read data files, a large number of file read and write will prevent other operations, at the time of indexing to use Background:true, Although, background can be indexed in the background.
When indexing in the background, it is not possible to perform some bad-collection operations on the indexed system, such as: Run repairdatabase, Drop,compat, When you build the index, you will get an error when running these operations.
Building Indexes on secondaries
Background after primary completed indexing, the indexing operation began to be established in replica set secondaries ;
The best way to build a large index on a secondaries is to restart a secondary each time it is independent and index it, after indexing, to restart as a replica set member until all the secondary have completed all the indexes. After all secondaries have completed indexing, restart primary.
Background of MongoDB index and indexing of clusters