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