首页 > 代码库 > mongodb创建索引

mongodb创建索引

mongodb创建索引 

> db.foo.ensureIndex({“x”:1, “y”:-1})

使用ensureIndex来创建索引,1为升序,-1为倒序

tip:查询要返回集合中一半以上的结果,反而没有必要创建索引,直接一条条扫描数据会高效一些

> db.test.ensureIndex({“x”:1}, {“unique”:true})

上面这条语句是创建唯一索引,创建唯一索引前可能会有重复数据,我们可以使用”dropDups”来鲁莽的删除这些重复数据,写法如下

> db.test.ensureIndex({“x”:1}, {“unique”:true, “dropDups”:true})

当然,最好还是写个脚本预处理好这些数据在建立唯一索引是更好的解决方法

我们可以在创建索引时,为索引起个名字,而不是用系统自动生成的名字,写法如下:

> db.test.ensureIndex({“x”:1}, {“name”: “myindex”})

当我们的集合数据量很大的时候,创建索引是一件费时费力的事情,我们可以这些写创建索引的语句,是创建索引的过程在后台完成:

> db.test.ensureIndex({“x”:1}, {“background”:true})

当索引不再使用的使用我们可以用dropIndexes来删除索引,写法如下:

> db.runCommand({“dropIndexes”: “test”, “index”: “myindex”})

dropIndexes后面跟的参数是集合名称,index后面跟的参数是索引名称,如果需要删除所有索引,使用”*”即可

mongodb创建索引