1. 调用ensureIndex创建索引时,必须保证以前没有在对应键上建立过索引,否则语句不执行,索引将保留旧版本。
例子:我们可以给people建立一个普通索引: db.people.ensureIndex({"age" : 1});
然后我们可以再次给age键建立一个唯一索引: db.people.ensureIndex({"age" : 1}, {"unique" : true})
如果原来的数据里age键有重复,按照道理这次建立会失败并报错,但是我们不会遇到这种情况,语句会很快返回。
2. 创建索引选项:db.collectionName.ensureIndex(索引字典, 选项字典)
a. 唯一: {"unique" : true}, 索引的值是唯一的, 也就是任何两个document互斥。
b. 后台: {"background" : true}, 在后台创建索引,因为创建索引很花时间,所以后台比较好。
待续......