在本页面
2015年12月8日
MongoDB 3.2现在可用。主要功能包括WiredTiger作为默认存储引擎,复制选举增强功能,配置服务器作为副本集readConcern
,以及文档验证。
还可以使用OpsManager 2.0。有关 更多信息,请参阅Ops Manager文档和Ops Manager发行说明。
已解决的问题:
已解决的问题:
已解决的问题:
mongos
。已解决的问题:
renameCollection
应处理写冲突。applyOps
在返回之前不会等待多数writeConcern。preferSSL
,应记录不使用SSL的连接。已解决的问题:
nameOnly
向listDatabases 添加选项仅获取数据库名称,而不获取大小信息。已解决的问题:
pv1
可以看到与候选人同等或更高优先级的健康初选,则他们应在选举中不投票。createIndex
在持有锁定时阻止检查点的持续时间。$group
在Windows上操作缓慢。已解决的问题:
systemd
Debian的配置中的无效定义。killCursor
聚合管道中的操作可能导致分段错误。已解决的问题:
已解决的问题:
mongod
情况下,用户可以运行
currentOp
,并killOp
在自己的业务。已解决的问题:
已解决的问题:
已解决的问题:
mongo
shell方法将count()
忽略读取首选项。已解决的问题:
已解决的问题:
majority
反映了主数据库上的日记状态replication.enableMajorityReadConcern
忽略实际设置值,而是隐含true
。count()
方法
mongo
不应用读取首选项。已解决的问题:
lsn
file)可能在同步到数据文件之前。_id
字段添加到大型文档中。被MongoDB 3.2.3取代。希望运行MongoDB 3.2的用户应跳过3.2.2并直接升级到3.2.3。
已解决的问题:
从3.2开始,MongoDB使用WiredTiger作为默认存储引擎。
要指定MMAPv1存储引擎,您必须指定存储引擎设置之一:
在带有--storageEngine
选项的命令行中:
或在配置文件中,使用以下storage.engine
设置:
注意
对于现有部署,如果未指定
--storageEngine
或storage.engine
设置,则MongoDB 3.2可以自动确定用于在--dbpath
或中
创建数据文件的存储引擎storage.dbPath
。
如果指定--storageEngine
或storage.engine
,mongod
则如果dbPath
包含由指定引擎以外的其他存储引擎创建的数据文件,
则不会启动。
也可以看看
从MongoDB 3.2开始,默认情况下,WiredTiger内部缓存将使用以下两者中的较大者:
有关更多信息,请参见WiredTiger和内存使用。
从MongoDB 3.2开始,MongoDB减少了副本集故障转移时间,并加快了对多个同时存在的主数据库的检测。
作为此增强功能的一部分,MongoDB引入了复制协议的版本1。默认情况下,新副本集将使用
。MongoDB的早期版本使用协议的版本0。protocolVersion: 1
此外,MongoDB引入了新的副本集配置选项
electionTimeoutMillis
。
electionTimeoutMillis
指定检测副本集主数据库何时不可达的时间(以毫秒为单位)。
electionTimeoutMillis
仅在使用的版本1时适用。replication protocol
也可以看看
MongoDB 3.2不赞成将三个镜像mongod
实例用于配置服务器。
相反,从3.2开始,可以将分片群集的配置服务器部署为副本集。副本集配置服务器必须运行WiredTiger存储引擎。
由于MongoDB可以利用标准副本集读写协议来分摊配置数据,因此此更改可提高配置服务器之间的一致性。此外,由于副本集最多可包含50个成员,因此这使分片群集可以具有3个以上的配置服务器。
有关更多信息,请参见Config Servers。要部署一个新的与副本集配置服务器集群分片,请参阅部署分片群集。
MongoDB 3.2不赞成对分片群集的组件使用主从复制。
从3.2开始mongos
,在启动期间,将继续尝试与配置服务器联系,直到有一个可用的为止。在以前的版本中mongos
,在启动期间,如果找不到配置服务器,它将关闭。
readConcern
¶MongoDB 3.2引入了readConcern
副本集和副本集分片的查询选项。对于WiredTiger存储引擎,该readConcern
选项允许客户端为读取选择隔离级别。您可以指定
readConcern
of "majority"
来读取已写入大多数节点且因此无法回滚的数据。默认情况下,MongoDB使用readConcern
of "local"
来返回查询时该节点可用的最新数据,即使该数据尚未持久化到大多数节点并可能回滚。使用MMAPv1存储引擎,您只能指定
readConcern
的"local"
。
readConcern
需要为MongoDB 3.2更新的MongoDB驱动程序。
有关readConcern
包括支持该选项的操作在内的详细信息,请参阅《阅读关注》。