第九章 单个索引(Single Field Indexes)

第九章 单个索引(Single Field Indexes)

  • 创建升序索引
  • 在嵌套字段创建索引
  • 在嵌套文档创建索引

MongoDB的索引支持文档中的任何字段。所有集合都有一个默认的 _id 索引,用户对频繁查询可以添加一些索引。

创建升序索引

假设有以下这样一个集合。

{
	"_id": ObjectId("570c04a4ad233577f97dc459"),
	"score": 1034,
	"location": {state: "NY", city: "New York"}
}

创建升序索引

db.records.createIndex({score: 1})

1指定索引顺序为 ASC,-1指定索引顺序为 DESC

下面查询语句都会使用到索引

db.records.find({score: 2})
db.records.find({score: {$lt: 10}})
在嵌套字段上创建索引

在嵌套字段上创建索引非常简单,嵌套字段上的索引与嵌套文档上的索引有一点区别:嵌套文档上的索引包含整个嵌套文档的内容,而且文档内容不得超过索引上限值。创建语法如下所示。

db.records.createIndex({"location.state": 1})

下面查询语句都会使用到索引

db.records.find({"location.state": "CA"})
db.records.find({"location.city": "Albany", "location.city": "NY"})
在嵌套文档上创建索引

创建语法如下。

db.records.createIndex({location: 1})

下面查询语句都会使用到索引

db.records.find({location: {city: "New York", state: "NY"}})
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值