MongoDB为文档集合中任何字段上的索引提供了完整的支持 。默认情况下,所有集合在_id字段上都有一个索引,应用程序和用户可以添加其他索引来支持重要的查询和操作。
本文档在单个字段上描述了升序/降序索引。
考虑一个名为的集合records
,其中包含类似于以下样本文档的文档:
以下操作score
在records
集合的字段上创建一个升序索引:
索引规范中该字段的值描述了该字段的索引类型。例如,值1
表示以升序对项目进行排序的索引。值-1
指定一个索引,该索引按降序对项目进行排序。有关其他索引类型,请参见索引类型。
创建的索引将支持在字段上选择的查询
score
,例如:
您可以在嵌入式文档中的字段上创建索引,就像可以在文档中的顶级字段上建立索引一样。嵌入字段上的索引与嵌入文档上的索引不同,后者包含完整内容,直到索引中嵌入文档的最大值。相反,嵌入式字段上的索引使您可以使用“点符号”来对嵌入式文档进行内部检查。index size
考虑一个名为的集合records
,其中包含类似于以下样本文档的文档:
以下操作将在location.state
字段上创建索引:
创建的索引将支持在字段上选择的查询
location.state
,例如:
您还可以在整个嵌入式文档上创建索引。
考虑一个名为的集合records
,其中包含类似于以下样本文档的文档:
该location
字段是一个嵌入式文档,包含嵌入式字段
city
和state
。以下命令在整个location
字段上创建索引:
以下查询可以使用location
字段上的索引: