View a markdown version of this page

Multi-key 索引 - Amazon DocumentDB

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

Multi-key 索引

对于具有数组值的字段,多键索引允许您为数组中的每个元素创建索引键。对数组进行索引会为数组的每个元素创建一个索引条目。

Multi-key 当您的应用程序经常根据数组中的值查询或筛选文档时,索引很有用。

支持的索引属性

Option 3.6 4.0 5.0 8.0 弹性集群
name 支持
独特 支持
稀疏* 支持
部分 FilterExpression *
到期 AfterSeconds 支持

* sparsepartialFilterExpression选项不能在同一个索引定义中一起使用。如果您尝试使用这些选项创建索引,它将失败并显示以下错误:

Error in specification: cannot mix partialFilterExpression and sparse options

创建多键索引

使用createIndex()方法创建多键索引。该方法的语法是:db.collection.createIndex(<key>, <options>)

key参数是一个 JSON 文档,用于指定字段和索引排序顺序:

{ "<field>": <1 (ascending)|-1 (descending)> }

options参数是一个 JSON 文档,用于指定索引的选项:

{ "name": "<name>", "unique": <true | false>, "sparse": <true | false>, "partialFilterExpression": <filter expression>, "expireAfterSeconds": <seconds before expiry> }

以下示例在categories字段上创建一个按升序排序的多键索引,名称为:book_categories

db.collection.createIndex( { "categories": 1 }, { "name": "book_categories" } )

有关创建多键索引的示例,请参阅索引属性