在本页面
已解决的问题:
已解决的问题:
已解决的问题:
已解决的问题:
已解决的问题:
已解决的问题:
已解决的问题:
已解决的问题:
已解决的问题:
tuneable batch size for chunk migrations
tuneable batch size for the rangedeleter
已解决的问题:
已解决的问题:
已解决的问题:
已解决的问题:
mapReduce
在分片的输出集合上“替换”会导致UUIDCatalog不一致。syncSourceHost
字段添加到replSetGetStatus
输出。已解决的问题:
--shardsvr
在将分片添加到分片之前启动分片时出现分段错误。已解决的问题:
currentOp
输出不再返回threadId
字段。已解决的问题:
mongod
使用索引和嵌套$and
/ 查找时崩溃$or
。--bind_ip
本地主机将导致错误“地址已在使用中”已解决的问题:
Unknown macro: {USER}
mongo
Shell无法使用3.6连接字符串SRV连接已解决的问题:
mongod
进程在侦听连接之前派生。mongos
数据库不存在时,不会在上返回changeStream游标
。从MongoDB 3.6,MongoDB二进制文件mongod
和开始
mongos
,localhost
默认情况下绑定到。从MongoDB 2.6到3.4版本localhost
,默认情况下仅绑定来自正式MongoDB RPM(Red Hat,CentOS,Fedora Linux和衍生产品)和DEB(Debian,Ubuntu和衍生产品)的二进制文件
。要了解有关此更改的更多信息,请参阅
Localhost绑定兼容性更改。
要将数据库用户连接限制为指定的IP地址,请authenticationRestrictions
在以下参数中添加
参数:
指令 | 方法 |
---|---|
createUser |
db.createUser() |
updateUser |
db.updateUser() |
createRole |
db.createRole() |
updateRole |
db.updateRole() |
添加了opensslCipherConfig
用于在使用TLS / SSL加密时控制OpenSSL密码的参数。
如果启用了身份验证,则只能getMore
针对创建的游标发出a 。
将convertToCapped
动作添加到restore
角色。
也可以看看
从MongoDB 3.6开始,以下功能可用。
$lookup
¶$lookup
通过允许对联接的集合进行变量指定和管道执行,增加了对指定多个联接条件以及不相关子查询的支持。
有关详细信息,请参见连接条件和不相关子查询的$lookup
语法
。
MongoDB 3.6添加了以下新的聚合管道阶段:
操作员 | 描述 |
---|---|
$currentOp |
返回包含有关mongod
实例的活动和/或休眠操作的信息的文档流。使用新的聚合助手
db.aggregate() 。 |
$listSessions |
列出数据库中system.sessions 集合中的
服务器会话config 。使用新的聚合助手
db.aggregate() 。 |
$listLocalSessions |
列出服务器缓存在内存中的服务器会话。 |
操作员 | 描述 |
---|---|
$arrayToObject |
将键值对数组转换为文档。 |
$objectToArray |
将文档转换为代表键值对的文档数组。 |
$mergeObjects |
将多个文档合并为一个文档。 |
$dateFromString |
将日期/时间字符串转换为日期对象。 |
$dateFromParts |
给定日期的组成部分,构造一个BSON Date对象。 |
$dateToParts |
返回包含日期组成部分的文档。 |
MongoDB 3.6添加了一个助手,db.aggregate()
以执行不依赖于基础集合的聚合,例如以$currentOp
或
开头的聚合$listLocalSessions
。
aggregate
命令和
db.collection.aggregate()
方法支持以下新选项:
hint
选项以指定要使用的索引。
注意
该hint
不适$lookup
和
$graphLookup
阶段。
comment
选项以帮助通过数据库事件探查器,currentOp和日志跟踪操作。
MongoDB 3.6添加了以下新的位置运算符,用于对数组和嵌套数组的更新操作:
$[]
运算符将更新数组中的所有元素。$[<identifier>]
运算符更新与arrayFilters
条件匹配的数组中的所有元素。以下驱动程序与MongoDB 3.6兼容:
Java 3.6+ Python 3.6+ C 1.9以上 |
C#2.5以上 节点3.0+ Ruby2.5+ |
Perl 2.0以上 PHPC 1.4以上 Scala 2.2+ |
mongodb+srv
¶除标准连接格式外,3.6驱动程序还支持DNS构造的种子列表。有关更多信息,请参见 DNS种子列表连接格式。
MongoDB 3.6支持针对具有副本集分片的副本集和分片集群打开变更流。
变更流允许应用程序访问实时数据变更,而不会带来复杂性和拖延oplog的风险。应用程序可以使用变更流来订阅集合中的所有数据变更,并对这些变更做出响应。
您可以使用该db.collection.watch()
方法从任何3.6系列驱动程序打开更改流
。有关使用的完整说明,请参见首选驱动程序的文档。
有关更多信息,请参见更改流。
重要
要使用变更流,featureCompatibilityVersion
必须将其设置为“ 3.6”。有关更多信息,请参见查看FeatureCompatibilityVersion和
setFeatureCompatibilityVersion
。
为了提供因果一致性,MongoDB 3.6 在客户端会话中启用因果一致性。因果一致的客户端会话表示读取和确认的写操作的关联序列具有因果关系,这由它们的顺序反映出来。客户端应用程序必须确保一次只有一个线程在客户端会话中执行这些操作。
应用程序可以启动客户端会话,并将操作与特定会话相关联。应用程序必须确保一次只有一个线程在客户端会话中执行这些操作。
重要
要使用客户端会话:
featureCompatibilityVersion
必须为“ 3.6”。有关更多信息,请参见查看FeatureCompatibilityVersion和
setFeatureCompatibilityVersion
。重要
对于可重试的写入:
featureCompatibilityVersion
必须为“ 3.6”。有关更多信息,请参见查看FeatureCompatibilityVersion和
setFeatureCompatibilityVersion
。从MongoDB 3.6开始,对副本集和分片群集进行的某些公认的写入操作是“可重试的”,以提供对瞬态网络错误或副本集选择的处理。
通过可重试的写入,MongoDB驱动程序在遇到网络错误或副本集故障转移时会自动重试这些操作,
在此期间副本集没有主副本。要为3.6驱动程序启用可重试写入,请参见retryWrites
。
由于仅尝试一次重试,因此可重试功能可以帮助解决瞬态网络错误,但不能解决持久性网络错误。
有关可重试写入的更多信息,请参见可重试写入。