MongoDB collection.createIndexes() 方法

Mongodb 中的 createIndexes() 方法用于在集合中创建一个或多个索引。与 createIndex() 方法不同的是, createIndexes() 方法可以同时创建多个索引。索引可以提高查询效率并且加速数据的检索。

语法

db.collection.createIndexes(indexes, options)

其中,参数说明如下:

  • indexes: 要创建的一个或多个索引。
  • options: 一个可选的参数对象,用于指定一些选项。

使用场景

当集合中需要创建多个索引时,可以使用 createIndexes() 方法,而不是一个一个地使用 createIndex() 方法。此外, createIndexes() 方法还可以创建不同类型的索引,并可以设置各种选项来控制索引的行为。

示例

假设我们有一个名为 sales 的集合,其中包含以下文档:

{ "_id" : ObjectId("61f9ba9c11d1286dd56c40c1"), "product" : "apple", "quantity" : 100, "price" : 1.99 }
{ "_id" : ObjectId("61f9ba9c11d1286dd56c40c2"), "product" : "banana", "quantity" : 200, "price" : 0.99 }
{ "_id" : ObjectId("61f9ba9c11d1286dd56c40c3"), "product" : "orange", "quantity" : 300, "price" : 2.99 }

现在,我们可以使用 createIndexes() 方法在 sales 集合中创建多个索引:

db.sales.createIndexes([
  { product: 1 },
  { quantity: -1 },
  { price: 1, quantity: -1 }
])

这将创建三个索引,分别基于 productquantityprice+quantity 字段,其中 productprice 字段的排序方式为升序,quantity 字段的排序方式为降序。

结论

使用 createIndexes() 方法可以在集合中创建一个或多个索引,并且可以设置各种选项来控制索引的行为。当需要创建多个索引时,使用 createIndexes() 方法可以更方便地创建多个索引。