在数据库建立索引时,默认时"foreground" 也就是前台建立索引,但是,当你的数据库数据量很大时,在建立索引的时会读取数据文件,大量的文件读写会阻止其他的操作,此时在建立索引的时候用background:true,虽然,background在可以在后台建立索引。
在后台建立索引的时候,不能对建立索引的collection进行一些坏灭型的操作,如:运行e,drop,compat,当你在建立索引的时候运行这些操作的会报错。
Building Indexes on Secondaries
后台在primary 完成建立索引之后,建立索引操作才开始在 建立;
在secondaries 去建立一个大的索引最好的方法是去每次独立的重启一个secondary并且建立索引,在建立索引之后,在重新启动作为 成员,直到所有的secondary 建立完所有的索引,当所有的secondaries 建立完索引之后,重新启动primary。