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

版本说明

发布日期:2026 年 6 月 30 日

这些发布说明涵盖了从公共预览版 (0.40.0,10 月 2025)至正式发布版本(1.70.1)。这些更改仅适用于 Community Edition 和 Enterprise Advanced 自管理部署。Atlas 托管的部署不包括在内。

说明
在 Community Edition 中可用
可在 Enterprise Advanced 中使用

身份验证重新构建为 scramAuth x509 块。同步源身份验证配置现在使用明确的 scramAuth (用户名/密码)和 x509 (证书)子块,而不是平面字段,并在启动时进行更强大的验证。现有配置必须迁移到新结构。在 v1.70.1 中引入。

X.509 证书身份验证用于同步源连接。 mongot 现在可以使用 TLS 客户端证书对 mongodmongos 进行身份验证,作为 SCRAM 的完全支持替代方案。使用证书密钥文件和 CA 文件配置 syncSource.replicaSet.x509syncSource.router.x509在 v1.70.1 中引入。

支持 TLS 的加密密钥文件。同步源 TLS 连接和 gRPC 服务器 TLS 都接受 certificateKeyFilePasswordFile,因此私钥不再需要以未加密的形式存储在磁盘上。在 v1.70.1 中引入。

新的 syncSource.replicationReader 配置块。操作员现在可以控制初始同步和变更流复制期间 mongot 从哪个副本集节点读取。接受 readPreference 值和可选 tagSets ,用于定位具有特定副本集标签的节点。已删除已弃用的 replicaSet.readPreference 字段。在 v0.66.0 中引入。

新的 advancedConfigs 顶级配置块。现在,可选的性能调优参数已分组到单个 advancedConfigs: 块下,其中包含 indexingqueryingreplicationautoEmbeddingftdc 的子块。FTDC 和磁盘监控设置已从顶级移动到此处。在 v1.70.1 中引入。

分片集群支持通过 syncSource.router. syncSource 中的 router 子块可以连接到分片部署的 mongos 路由器。每个分片都需要自己的专用 mongot 实例,其中 replicaSet 将实例映射到其特定分片,router 处理集群范围的协调。自 v0.40.0 起可用。

已排序索引 (索引排序)。现在可以在一个或多个字段上配置搜索索引的排序顺序。匹配索引排序密钥的 $sort 查询会跳过全集合排序阶段,大大改善延迟,对于排序密集型工作负载(例如最近或按价格排序的结果)有很大帮助。在 v0.66.0 中引入。

嵌套向量搜索。 $vectorSearch 现在支持查询嵌套文档数组中嵌入的向量字段。在索引定义中定义一个 nestedRoot 路径,以便在子文档数组内执行针对每项的相似度搜索。于 v1.70.1 版本中引入。

向量存储源。向量搜索索引可以将原始向量值与索引数据一起存储。当 $vectorSearch 查询请求 returnStoredSource 时,原始向量值会直接从索引返回,从而通过消除第二次从 mongod 读取来降低延迟。在 v0.65.0 中引入。

对低回忆向量搜索的自动精确最近邻 (ENN) 回退。 mongot 现在可以检测出当文档删除率过高时,近似最近邻 (ANN) 搜索会返回的结果过少,并自动回退到精确最近邻 (ENN) 搜索,从而无需更改查询即可提高找回质量。在 v0.66.0 中引入。

钻取分面。分面查询使用 Lucene 的钻取分面算法,单次通过计算所有文档的分面计数。这可以实现导航 UI 中常见的“显示计数,就像未应用此分面(Facet)过滤器一样”行为,而无需第二次查询。在 v0.69.0 中引入。

分面(Facet)桶限制增加到 10,000。数字和日期分面(Facet)返回的最大桶数已从 1,000 增加到 10,000,从而可以对大值范围进行更粗粒度的聚合。在 v1.70.1 中引入。

自管理的对齐索引定义语法 mongot. 自管理 mongot 接受的索引定义 JSON 格式已与 Atlas 统一。索引定义可以互换使用,无需修改。在 v1.70.1 中引入。

在自管理环境中使用 Voyage AI 进行自动嵌入 mongot. 自管理 mongot 现在支持自动嵌入生成。使用 API 密钥文件配置 embedding: 块,mongot 会在插入或更新文档时自动从文本字段生成并维护向量嵌入。在 v1.70.1 中引入。

HNSW 参数可配置用于自动嵌入索引。现在可以在自动嵌入索引定义中指定 mefConstruction HNSW 图构建参数,从而控制近似最近邻 (ANN) 索引的准确性/吞吐量权衡。在 v0.65.0 中引入。

自管理的 Prometheus 指标终结点 mongot. 自管理 mongot 会曝露 Prometheus 兼容 /metrics 终结点(可使用 metrics.address 配置,默认为 localhost:9946),用于监控索引状态、复制延迟、查询延迟和资源使用情况。从 v0.40.0 开始可用。

HTTP 健康和就绪终结点。/health 终结点(可使用 healthCheck.address 配置,默认为 localhost:8080)在 mongot 就绪时返回 {"status":"SERVING"}(HTTP 200),否则返回 {"status":"NOT_SERVING"}(HTTP 503),适用于容器活蹦和就绪探测。自 v0.40.0 起可用。

对自管理的 $listSearchIndexes 支持 mongot. 自管理 mongot 现在支持在集合上运行 $listSearchIndexes 以检查所有搜索索引的状态、定义和状态,与 Atlas 中的行为一致。在 v1.70.1 中引入。

容器可识别内存指标。系统内存指标现在在容器内运行时从 cgroup 限制读取,而不是报告总的托管物理内存,在 Docker 和 Kubernetes 环境中提供准确的可用内存数据。在 v0.69.0 中引入。

复制暂停阈值与 Atlas 对齐。为避免使 mongod 超负荷,mongot 暂停索引复制的阈值现在在 Atlas 和自管理部署之间保持一致。在 v0.66.0 中引入。

Lucene 升级到 10.1。将底层搜索库从 Lucene 9.x 升级到 Lucene 10.1,从而提高了查询性能、改进了段合并行为,并修复了复合查询、排序索引和向量搜索的正确性问题。在 v1.70.1 中引入。

Java 运行时已升级到 Java 21。mongot 二进制文件现在附带 Java 21 (LTS),取代 Java 17。Java 21 提供 JIT 改进、更好的垃圾回收和更长的支持生命周期。在 v0.69.0 中引入。

Docker 基础图像已升级到 Amazon Linux 2023。mongot Docker 图像现在使用 Amazon Linux 2023,取代 Amazon Linux 2,提供更新的 glibc、更新的 OpenSSL 和更长的支持生命周期。在 v0.69.0 中引入。

说明
在 Community Edition 中可用
可在 Enterprise Advanced 中使用

当路由器配置与集群拓扑结构不一致时,搜索索引受到保护,以防止删除。在分片集群中,如果 mongot 缺少路由器配置,则当目录元数据移动到另一个分片时,搜索索引可能会被删除。现在,mongot 可以保护搜索索引免受删除,并在此场景中保留目录元数据的完整性。在 v0.69.0 中修复。

启动时崩溃 syncSource.router 拓扑结构不匹配 replicaSet. 如果路由器拓扑结构与配置的 replicaSet 不一致,则 mongot 可能在分片集群中的启动过程中崩溃。现在已在启动时捕获此错误,并以明确的消息将其报告为配置错误。在 v1.70.1 中修复。

初始同步期间失败的索引现在可以自动恢复。在初始同步过程中途失败的搜索索引将永久保持失败状态,需要手动介入。mongot 现在可以在重启时检测并重试失败的初始同步。已在 v1.70.1 中修复。

STEADY 到 INITIAL_SYNC 状态过渡不正确。Lucene 层状态计算中的错误可能会将完全索引的搜索索引从 STEADY 错误过渡回 INITIAL_SYNC,从而触发不必要的重新索引。索引现在可以正确保持 STEADY 状态。在 v0.67.0 中修复。

同步源主机不可用时复制关闭。当所有配置的副本集节点长时间无法访问时,mongot 现在会清洁地关闭复制,而不是无限期运转,从而防止资源耗尽并通过健康检查失败显示服务中断。已在 v0.67.0 中修复。

过时的系统指标。通过 Prometheus 终结点报告的系统指标在延长运行时间后可能会过时。指标采集循环现在在每个抓取周期正确重置。在 v1.70.1 中修复。

引导通配符查询回归 (Lucene 10)。在 Lucene 10 迁移过程中引入的回归导致引导通配符查询返回不正确或缺少的结果。在 Lucene 10.1 中解决。在 v1.70.1 中修复。

Pure should -子句查询回归(Lucene 10)。在 Lucene 10 升级后,完全由 should 子句组成的查询返回了错误的分数或遗漏了文档。在 Lucene 10.1 中解决。在 v1.70.1 中修复。

嵌套向量搜索分数膨胀 scoreMode: "avg". $vectorSearch 与嵌套向量及 scoreMode: "avg" 返回的近似最近邻 (ANN) 分数相比精确最近邻 (ENN) 结果有所膨胀。近似最近邻 (ANN) 和精确最近邻 (ENN) 评分现已保持一致。已在 v0.67.0 中修复。

带有二进制量化的嵌套向量搜索返回了错误的结果。 $vectorSearch 在使用二进制量化的嵌套向量字段上,由于子过滤器路径中的错误,可能会返回不正确的结果。在 v0.69.0 中修复。

对空字段的分面分钻投出异常。在没有文档对字段进行索引的集合上使用 token 字段类型的分面(Facet)查询会投出 invalid dim 异常。现在可以正确处理空情况。在 v0.69.0 中修复。

稀疏分面(Facet)重复计数。迭代稀疏 SSDV 字段的关键数组可能会导致分面(Facet)结果中的条目重复计数或跳过。现在,具有稀疏数据的字段的**分面(Facet)**计数准确。在 v0.69.0 中修复。

自动完成操作符已删除最后的前缀标记。当用户在完成过程中输入单词时,自动完成操作符有时会丢弃最后一个单词的前缀标记,只返回以前完整单词的结果。在 v0.65.0 中修复。

已删除的集合元数据未清理。删除 MongoDB 集合时,过时的索引目录元数据可能会累积,如果后续重新创建集合,则可能会导致状态不正确。现在,在集合删除时会正确删除元数据。在 v1.70.1 中修复。

FTDC 数据采集中的原生内存泄漏。FTDC 采集例程中的原生内存泄漏导致 mongot 的堆外内存占用量逐渐增加。在 v0.66.0 中修复。

自动嵌入僵尸租约竞争条件。心跳检查和状态过渡逻辑之间的竞争可能会在持有者停止后使自动嵌入领导租约处于僵尸状态。租约状态机现在使用原子状态检查来消除此窗口。在 v0.69.0 中修复。

物化视图完全替换范围设置不正确 _id.<subfield> 过滤器.自动嵌入索引的过滤器包含 _id 的子字段,在更新时会错误替换整个物化视图,从而丢弃过滤器外的文档。更新现在已正确定义范围。已在 v1.70.1 中修复。

安全依赖升级。已更新具有已知 CVE 的第三方库:Netty 升级到 4.1.132+、Jackson 升级到 2.18.6、Logback-core 已更新,Plexus-Utils 升级到 4.0.3,netty-tcnative 升级到 2.0.79.Final。应用于 v0.69.0。