- 2
- 0
- 约2.04千字
- 约 5页
- 2016-11-22 发布于贵州
- 举报
索引
创建索引
MongoDB索引和关系型数据库规则是一样的,在经常要用到的查询列建立索引。建立索引使用ensureIndex({列名 : 1, 列名2 : -1})等这种方式,1代表升序,-1代表降序。建立复合索引之前一定要考虑索引的方向,到底是升序好,还是降序。其次还要考虑列的顺序,如果要建立用户名和日期的索引,经常要用到最近几天的记录,则把日期排在前面比较好。
索引内嵌文档中的键使用如下:
当建立一个索引的时候,系统默认索引名为keyname1_dir1_keyname2…这种形式,其中keyname1代表索引的键,dir1代表方向。不过可以通过ensureIndex第二个参数指定索引名。如下:
可以为第二个参数设定unique:true来指定唯一索引:
注意:默认情况下insert并不检查文档是否插入了,为了避免插入文档中与唯一键重复,需要用安全插入才能。
如果集合中已经有些值重复了,要创建唯一索引,可以使用dropDups:true来删除重复的文档,只保留第一个被发现的文档,如下:
可以在第二个参数中,添加“background”:true来使得在后台建立索引,如果没有此选项,则在建立索引期间,数据库会阻塞建立索引期间的所有请求。虽然阻塞时,建立索引更快,但是不能进行处理,因此权衡会更好。
删除索引使用以下命令:
其中foo为数据库名
原创力文档

文档评论(0)