ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
在 MongoDB 上,<mark>索引能够提高读操作及查询性能</mark>。没有索引,MongoDB 必须扫描集合中的每一个文档,然后选择与查询条件匹配的文档,这种全表扫描的方式是非常低效的。MongoDB 索引的数据结构也是 B+树,它能存储一小部分集合的数据,具体来说就是存储集合中建有索引的一个或多个字段的值,而且按照值的升序或降序排列。对于一个查询说,<ins>如果存在合适的索引,MongoDB 能够利用这个索引减少文档的扫描数量</ins>。 * MongoDB默认为所有集合都创建了一个`_id`字段的单字段索引,而且这个索引是唯一的,不能被删除。 <br/> MongoDB 3.0.0 版本之后,使用 `createIndex()` 方法来创建索引,在 3.0.0 版本前使用 `ensureIndex()`方法来创建索引,之后的版本`ensureIndex()` 还 能用 , 但只是`createIndex()` 的别名。 <br/> 语法: ```sql db.collection.createIndex(keys, options) Keys 将某个字段作为索引,1 为升序创建索引,-1为降序索引 options 可选项 ``` ```sql > db.col.createIndex({"title":1}) # 复合索引 > db.col.createIndex({"title":1,"description":-1}) ```