MongoDB支持复合索引,其中单个索引结构持有对集合文档中多个字段 [1]的引用。下图展示了两个字段上的复合索引示例:
[1] mongodb对任何复合索引施加32个字段的限制。
复合索引可以支持在多个字段上匹配的查询。
创建复合索引
要创建复合索引,请使用类似于以下原型的操作:
db.collection.createIndex( { <field1>: <type>, <field2>: <type2>, ... } )
值1表示以升序对项目进行排序的索引。值-1指定一个索引,该索引按降序对项目进行排序
考虑一个名为的集合products,其中包含类似于以下文档的文档:
{
"_id": ObjectId(...),
"item": "Banana",
"category": ["food", "produce", "grocery"],
"location": "4th Street Store",
"stock": 4,
"type": "cases"
}
以下操作在item和 stock字段上创建一个升序索引:
db.products.createIndex( { "item": 1, "stock": 1 } )