对于 AI 代理:可在 https://www.mongodb.com/zh-cn/docs/llms.txt 获取文档索引—通过在任何 URL 路径后添加 .md 可获取所有页面的 Markdown 版本。
Docs 菜单

在MongoDB搜索索引中定义存储的源字段

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 选项采用索引定义中的布尔值对象

说明

true

指定MongoDB Search 必须存储文档中的所有字段。存储完整文档可能会严重影响索引和查询期间的性能。要学习;了解更多信息,请参阅存储源字段。

如果索引定义包含向量类型字段,则不支持此方法。相反,使用 include 指定要在 mongot 上存储的字段,或使用 exclude 从存储中排除 vector 类型字段。

false

指定MongoDB Search 不得存储原始源文档。这是 storedSource 选项的默认值。

storedSource 选项对象必须包含以下字段之一:

字段
类型
说明

include

字符串数组

列表,其中包含要存储的字段名称或以点分隔的字段路径。除指定字段外, MongoDB Search默认下还会存储 _id

exclude

字符串数组

包含字段名称或点分隔路径的字段列表,这些字段将排除在存储之外。如果指定,MongoDB 搜索会存储原始文档,但排除此处列出的字段。如果索引定义包含向量类型的字段,则必须排除存储中的 vector 类型字段。

以下索引示例使用 sample_mflix.movies集合中的字段来演示如何使用 storedSource 选项配置要存储在MongoDB Search 上的字段。您可以使用 mongosh、 Atlas 用户界面可视化编辑器或Atlas 用户界面 JSON编辑器来配置索引。