在 Atlas Search 索引中定义存储的源字段
Atlas Search 索引定义中的 storedSource
选项指定 Atlas Search 必须存储的源文档中的字段。您可以配置storedSource
以提高某些使用案例中的查询性能,因为它减少了对后端数据库进行隐式查询时查找的需要。您可以在 Atlas Search 上存储所有数据类型的字段。
Atlas Search 不会对存储的字段进行索引,因此您必须单独对字段进行索引才能对它们运行查询。您还可以使用 returnStoredSource 选项在查询时检索存储的字段。
注意
storedSource
仅适用于运行以下版本之一的 Atlas 集群:
MongoDB 5 。 0 。 6 +
MongoDB 6.0+
MongoDB 7.0+
要了解有关检索存储字段的更多信息,请参阅返回存储的源字段。
语法
storedSource
选项在索引定义中具有以下语法:
{ ..., "storedSource": true | false | { "include" | "exclude": [ "<field-name>", ... ] } }
选项
storedSource
选项接受 布尔值 或 索引定义 中的 对象 。
布尔值
值 | 说明 |
---|---|
true | 指定 Atlas Search 必须存储文档中的所有字段。存储完整文档可能会严重影响索引和查询期间的性能。 要了解更多信息,请参阅存储源字段。 |
false | 指定 Atlas Search 不得存储原始源文档。这是 storedSource 选项的默认值。 |
对象
storedSource
选项对象接受以下字段之一:
注意
该对象必须包含include
或exclude
。
字段 | 类型 | 说明 |
---|---|---|
include | 字符串数组 | 包含字段名称或要存储的字段的点分隔路径的列表。 除了指定的字段外,Atlas Search 默认还会存储 _id 。 |
exclude | 字符串数组 | 列表,其中包含要排除在存储范围之外的字段名称或点分隔的字段路径。 如果指定,Atlas Search 会存储除此处列出的字段之外的原始文档。 |
举例
sample_mflix.movies
以下索引示例使用collection中的字段来演示如何使用 选项配置要存储在 Atlas SearchstoredSource
上的字段。您可以使用 Atlas 用户界面中的可视化编辑器或 JSON 编辑器来配置索引。