如何对字段中的 ObjectId 值进行索引
可以使用 Atlas SearchobjectId
类型来为 ObjectId 值编制索引。您可以使用 equals 和 in 操作符查询 objectId
类型的字段。
您还可以使用 objectId
类型创建索引:
值为
objectId
数组的字段。要了解详情,请参阅如何索引数组元素objectId
作为 embeddedDocuments 类型索引的文档数组中的字段。
如果您启用动态映射,Atlas Search 会自动为 objectId
类型的字段创建索引。您可以使用 Atlas UI 中的可视化编辑器或 JSON 编辑器为字段编制 objectId
类型的索引。
为 objectId
类型定义索引
要定义 objectId
类型的索引,请在 Atlas UI 中选择您的首选配置方法,然后选择数据库和集合。
单击 Refine Your Index 配置索引。
在 Field Mappings 部分中,单击 Add Field Mapping 打开 Add Field Mapping 窗口。
单击 Customized Configuration(连接)。
从 Field Name 下拉菜单中选择要索引的字段。
注意
您无法对字段名称开头包含美元 (
$
) 符号的字段创建索引。单击Data Type下拉列表并选择ObjectId 。 要了解有关此类型的更多信息,请参阅字段属性。
单击 Add(连接)。
以下是 objectId
类型的 JSON 语法。将默认索引定义替换为以下内容。要了解有关字段的更多信息,请参阅字段属性。
{ "mappings": { "dynamic": true|false, "fields": { "<field-name>": { "type": "objectId" } } } }
配置 objectId
字段属性
Atlas Search objectId
类型采用以下选项:
用户界面字段名称 | JSON Option | 类型 | 必要性 | 说明 |
---|---|---|---|---|
Data Type | type | 字符串 | 必需 | 标识此字段类型的人类可读标签。值必须是 objectId 。 |
尝试 objectId
类型的示例
以下索引定义示例使用 sample_mflix.comments 集合。如果已在集群上加载示例数据,则可使用 Atlas 用户界面中的可视化编辑器或 JSON 编辑器来配置索引。选择首选配置方法后,选择数据库和集合并优化索引以添加字段映射。
以下示例索引定义将 movie_id
字段索引为 objectId
数据类型,以支持使用 Atlas Search equals 操作符对该字段进行查询。
在 Add Field Mapping 窗口中,从 Field Name 下拉列表中选择 movie_id。
单击 Data Type(添加数据)下拉列表并选择 ObjectId(插入文档)。
单击 Add(连接)。
将默认索引定义替换为以下索引定义。
{ "mappings": { "dynamic": false, "fields": { "movie_id": { "type": "objectId" } } } }