振奋人心的时刻终于到来了,在通过一个MongoDB 上市的日子后,MongoDB 终于发布了MongoDB 3.6 RC3。今天花了整整一天把Release Notes 看了一遍,把大多数的功能都尝试了一遍,其中也不乏一些坑。有兴趣的小伙伴们能够先睹为快。mongodb
https://docs.mongodb.com/master/release-notes/3.6/数据库
今天的文章,将为你们带来一个整体的概览,并给出我我的的踩坑经验。json
接下来就让我来为你们踩踩坑。segmentfault
在这里,能看出咱MongoDB 是有多重视安全了吧,把它放在第一位。那么有哪些须要注意的呢?数组
通过多轮比特比勒索案后,(我猜的)在不影响开发效率的状况下,作了一些改变,将bind_ip 默认值修改成了localhost,这也是一个从以前版本升级过来后的坑,由于本人就由于一扫而过,直接看ReplcaSet 去了,致使在这里停留了半个小时,差点GG了。安全
那么如何解决这个问题呢?在启动的时候,会有一个关于这个的WARNING网络
因此根据提示,咱们只须要在启动的时候加上 --bind_ip_all
或者 在配置文件中加入net.bindIp: 0.0.0.0
或者 net.bindIpAll: true
session
在使用SSL 的时候,添加了opensslCipherConfig参数并发
如今,只要服务端开启了认证权限,开发者只能发出一个getMore 的游标请求app
在db.createUser()
和 db.updateUser()
中添加了authenticationRestrictions 参数,能够用来控制Client端发来的请求源IP以及请求的Server端指定IP。(这个功能我一直以为颇有必要出啊!真是出到我心坎里去了!)
添加了convertToCapped的方法用来储存自定义角色
聚合方面,MongoDB 确实一如既往的在每一次的版本更新中都是会有出色的表现的,这一次也不为过,不过我并不许备在这里逐一介绍。有兴趣的小伙伴能够本身翻阅哦~或者等待后续文章补充~
不得不提的仍是这个$lookup
相比3.4 ,3.6中的$lookup
又获得了增强,能够配合let
和 pipeline
来作出更优秀的连表查询了。 能够参考一下Example
这是一个新的方法,用于在admin 库下,操做一些实例的事件
好比:
新的聚合方法,用于删除聚合中指定的某一字段
https://docs.mongodb.com/master/reference/aggregation-variables/#variable.REMOVE
如今能够经过$[]
操做符 来对数组中的全部元素进行一次性修改了,并且这个修改能够是使用相似$divide
、$sum
等操做符的哦~
能够经过$[element]
配合 $cond
条件操做符等,来达到对数组的符合条件的元素统一更新。
在MongoDB Shell 中,加入了一些对于session 的操做指令集
噔噔噔噔~
这个功能也是我力荐的,这里只作简要描述。期待下次分享~
咱们能够经过$jsonSchema
操做符来对集合的建立进一步的限制,但千万不要觉得,这是MongoDB 向 RDB 的妥协哦。
相反的,MongoDB 保留了他的Flexible特性,经过其中的required
属性,能够控制哪些字段是强制要求的,哪些是能够不用保持一致的。
而且!!! 还添加了description
属性,用来对字段进行注解,这样,其余开发者包括DBAer 就能够一目了然啦。
在副本集中,添加了一些功能和指令集,这些都不是最吸引个人,最吸引个人是如何如今能够在线添加认证模式了!不须要重启!没错,告别曾经那些半夜的窗口期吧!只有MongoDB 可以作到!只有!
另外咱们的OpLog 也能够热重置啦!
开始废弃了 副本集协议版本 0
添加了 replSetResizeOplog 对OpLog 进行热重置大小,无需重启!
添加了一个指令集,用来控制Sharding 的同时并发任务数
ShardingTaskExecutorPoolMaxConnecting
每一个集合都添加了一个相似的UUID
不能对索引命名为带星号*
如今若是Multi-Key Index 上有没有数组的文档,也能够进行索引了
adminCommand
中的listDatabase
添加了一些参数https://docs.mongodb.com/master/reference/command/listDatabases/#dbcmd.listDatabases
nameOnly
filter
如今网络传输中,支持zlib压缩协议了
好了,今天的内容就分享到这里了,下次的分享内容有点纠结了,各位主给点意见?能够私信我,也能够在下面留言。
实战 MongoDB 3.6 ReplcaSet 在线开启认证模式
解读 MongoDB 3.6 $jsonSchema
我是上海小胖[MiracleYoung],专一MongoDB、MySQL、Redis等开源数据库的 DevOps,拥抱开源,接受收费。
上海小胖[MiracleYoung] 原创地址: https://segmentfault.com/u/shanghaixiaopang/articles
欢迎各位大神前来评论。
每周五,敬请期待,上海小胖[MiracleYoung] 独更。
若是夏雨荷还在大明湖畔等着个人话,我就不更了。