MongoDB 2.6 发行说明

在本页面

  • 2014 年 4 月 8 日*

MongoDB 2.6 现在可用。关键功能包括聚合增强,文本搜索集成,查询引擎改进,新的写操作协议和安全性增强。

Minor Releases

2.6.12 – 2016 年 3 月 24 日

2.6.11 – 2015 年 8 月 12 日

2.6.10 – 2015 年 5 月 19 日

2.6.9 – 2015 年 3 月 24 日

2.6.8 – 2015 年 2 月 25 日

2.6.7 – 2015 年 1 月 13 日

2.6.6 – 2014 年 12 月 9 日

2.6.5 – 2014 年 10 月 7 日

2.6.4 – 2014 年 8 月 11 日

  • 修复了text索引,在某些情况下,对text索引的字段进行就地更新可能会导致不正确/不完整的结果SERVER-14738

  • 在执行手动拆分块操作SERVER-14431之前,请检查拆分点的大小

  • 通过从全局池中绘制辅助连接并在查询/命令SERVER-9788的末尾释放回该池,确保重新评估读取首选项。

  • 在分片群集SERVER-14170中同时启用审计和授权时,允许从辅助数据库读取

  • 所有问题已在 2.6.4 中关闭

2.6.3 – 2014 年 6 月 19 日

2.6.2 – 2014 年 6 月 16 日

2.6.1 – 2014 年 5 月 5 日

Major Changes

MongoDB 中的以下更改会影响标准版和企业版:

Aggregation Enhancements

聚合管道可以通过返回游标或将输出写入集合来返回任意大小的结果集。此外,聚合管道支持变量,并添加了新操作来处理集合和修订数据。

  • db.collection.aggregate()现在返回一个游标,它使聚合管道可以返回任何大小的结果集。

  • 聚合管道现在支持explain操作,以帮助分析聚合操作。

  • 聚合现在可以使用更有效的基于外部磁盘的排序过程。

  • 新的管道阶段:

  • $out阶段输出到集合。

    • $redact阶段以允许其他控制权来访问数据。
  • 新的或修改的运算符:

  • 设置表达式运算符.

    • $let$map运算符允许使用变量。

    • $literal个运算符和$size个运算符。

    • $cond表达式现在接受对象或数组。

Literals 搜索集成

现在默认情况下已启用文本搜索,并且查询系统(包括聚合管道$match阶段)包括$text运算符,该运算符可解析文本搜索查询。

MongoDB 2.6 包含更新的text index格式,不赞成text命令。

插入和更新改进

更新和插入系统的改进包括其他操作和改进,这些操作和改进可以提高修改后的数据的一致性。

  • 在以下情况下,MongoDB 会在写操作之后保留文档字段的 Sequences* except *:

  • _id字段始终是文档中的第一个字段。

    • 包含renaming字段名称的更新可能会导致文档中字段的重新排序。
  • 新的或增强的更新运算符:

  • $bit运算符支持按位xor运算。

    • $min$max运算符根据指定值的相对大小和字段的当前值执行条件更新。

    • $push运算符增强了对$sort$slice$each修饰符的支持,并支持新的$position修饰符。

    • $currentDate运算符,用于将字段的值设置为当前日期。

  • $mul运算符,用于插入和更新操作的乘法增量。

新的写操作协议

一种新的写协议将写操作与写关注点集成在一起。该协议还为批量操作提供了改进的支持。

MongoDB 2.6 添加了写入命令insertupdatedelete,它们为改进的批量插入提供了基础。所有官方支持的 MongoDB 驱动程序都支持新的 write 命令。

mongo shell 现在包括执行批量写入操作的方法。有关更多信息,请参见Bulk()

适用于 Windows 的 MongoDB 的 MSI 软件包

MongoDB 现在为 Microsoft Windows 分发 MSI 软件包。这是在 Windows 下安装 MongoDB 的推荐方法。

Security Improvements

MongoDB 2.6 通过改进的 SSL 支持,基于 x.509 的身份验证,具有更精细的控件的改进的授权系统,集中的凭据存储以及改进的用户 Management 工具,增强了对安全部署的支持。

具体来说,这些更改包括:

  • 新的authorization model提供了创建自定义User-Defined Roles的功能以及以集合级别的粒度指定用户权限的能力。

  • 全局用户 Management,它将所有用户和用户定义的角色数据存储在admin数据库中,并提供了一组用于 Management 用户和角色的新命令。

  • 分片群集和/或副本集成员的client authenticationinternal authentication的 x.509 证书身份验证。 x.509 身份验证仅适用于使用 SSL 的部署。

  • 增强的 SSL 支持:

  • 群集的滚动升级以使用 SSL。

  • MongoDB 默认情况下禁用 http 接口,限制为network exposure。要启用该界面,请参见enabled

查询引擎的改进

Improvements

Geospatial Enhancements

索引构建增强

  • 背景索引构建允许二次学习。如果您在primary上启动后台索引构建,则辅助副本将在后台复制索引构建。

  • 重新启动后自动重建中断的索引。

  • 如果独立实例或主实例在索引构建过程中(没有干净的关机*)终止,则mongod现在在实例重新启动时重新启动索引构建。如果实例完全关闭,或者如果用户终止了索引构建,则中断的索引构建不会在服务器重新启动时自动重新启动。

    • 如果辅助实例在索引构建期间终止,则mongod实例现在将在实例重新启动时重新启动中断的索引构建。

若要禁用此行为,请使用--noIndexBuildRetry命令行选项。

增强的分片和复制 Management

配置选项 YAML 文件格式

MongoDB 2.6 除以前的配置文件格式外,还支持基于 YAML 的配置文件格式。有关更多信息,请参见Configuration File的文档。

Operational Changes

Storage

现在,usePowerOf2Sizes是所有新集合的默认分配策略。新的分配策略相对于文档总大小使用了更多的存储空间,但导致存储碎片的级别降低,并且随着时间的推移,存储容量的规划更加可预测。

要使用以前的“完全匹配分配策略”:

新集合包括:在initial sync期间创建的集合以及通过--repair选项和restoreDatabase命令运行mongod的,由mongorestoremongoimport工具创建的集合。

有关 MongoDB 存储系统的更多信息,请参见/core/storage

Networking

Tool Improvements

MongoDB 企业功能

以下更改特定于 MongoDB 企业版:

Windows 版 MongoDB Enterprise

适用于 Windows 的 MongoDB Enterprise现在可用。它包括对 Kerberos,SSL 和 SNMP 的支持。

Windows 的 MongoDB Enterprise 不包括 LDAP 对身份验证的支持。但是,适用于 Linux 的 MongoDB Enterprise 支持将 LDAP 身份验证与 ActiveDirectory 服务器一起使用。

适用于 Windows 的 MongoDB Enterprise 包含 OpenSSL 版本 1.0.1g。

Auditing

MongoDB Enterprise 为mongodmongos实例添加了auditing功能。有关详细信息,请参见Auditing

LDAP 对身份验证的支持

MongoDB Enterprise 提供对用户代理身份验证的支持。这样,Management 员可以将 MongoDB 集群配置为通过将身份验证请求代理到指定的轻型目录访问协议(LDAP)服务来对用户进行身份验证。有关详情,请参见使用 SASL 和 LDAP 与 OpenLDAP 进行身份验证通过 ActiveDirectory 使用 SASL 和 LDAP 进行身份验证

Windows 的 MongoDB Enterprise 不包括 LDAP 对身份验证的支持。但是,适用于 Linux 的 MongoDB Enterprise 支持将 LDAP 身份验证与 ActiveDirectory 服务器一起使用。

MongoDB 在包含 2.4 和 2.6 版分片的混合分片群集部署中不支持 LDAP 身份验证。有关升级说明,请参见将 MongoDB 升级到 2.6

扩展了 SNMP 支持

MongoDB Enterprise 大大扩展了其 SNMP 支持,以提供对db.serverStatus()提供的几乎所有 Metrics 的 SNMP 访问。

See also

Additional Information

影响兼容性的更改

2.6 中的某些更改可能会影响compatibility,并且可能需要用户采取措施。 2.6 mongo shell 提供了db.upgradeCheckAllDBs()方法,以检查其中某些更改的升级准备情况。

有关兼容性更改的详细列表,请参见MongoDB 2.6 中的兼容性更改

Upgrade Process

有关完整的升级说明,请参见将 MongoDB 升级到 2.6

Download

要下载 MongoDB 2.6,请转到downloads page

Other Resources