首個最全的MongoDB 3.6 全覽

MongoDB 3.6 先睹爲快 Part 1

振奮人心的時刻終於到來了,在通過一個MongoDB 上市的日子後,MongoDB 終於發佈了MongoDB 3.6 RC3。今天花了整整一天把Release Notes 看了一遍,把大多數的功能都嘗試了一遍,其中也不乏一些坑。有興趣的小夥伴們能夠先睹爲快。mongodb

https://docs.mongodb.com/master/release-notes/3.6/數據庫

今天的文章,將爲你們帶來一個整體的概覽,並給出我我的的踩坑經驗。json

接下來就讓我來爲你們踩踩坑。segmentfault

Security

在這裏,能看出咱MongoDB 是有多重視安全了吧,把它放在第一位。那麼有哪些須要注意的呢?數組

bind_ip

通過多輪比特比勒索案後,(我猜的)在不影響開發效率的狀況下,作了一些改變,將bind_ip 默認值修改成了localhost,這也是一個從以前版本升級過來後的,由於本人就由於一掃而過,直接看ReplcaSet 去了,致使在這裏停留了半個小時,差點GG了。安全

那麼如何解決這個問題呢?在啓動的時候,會有一個關於這個的WARNING
bind_ip網絡

因此根據提示,咱們只須要在啓動的時候加上 --bind_ip_all 或者 在配置文件中加入net.bindIp: 0.0.0.0 或者 net.bindIpAll: truesession

其餘安全性方面的增強

  • 在使用SSL 的時候,添加了opensslCipherConfig參數併發

  • 如今,只要服務端開啓了認證權限,開發者只能發出一個getMore 的遊標請求app

  • db.createUser()db.updateUser() 中添加了authenticationRestrictions 參數,能夠用來控制Client端發來的請求源IP以及請求的Server端指定IP。(這個功能我一直以爲頗有必要出啊!真是出到我心坎裏去了!)

  • 添加了convertToCapped的方法用來儲存自定義角色

Aggregation

聚合方面,MongoDB 確實一如既往的在每一次的版本更新中都是會有出色的表現的,這一次也不爲過,不過我並不許備在這裏逐一介紹。有興趣的小夥伴能夠本身翻閱哦~或者等待後續文章補充~

$lookup

不得不提的仍是這個$lookup 相比3.4 ,3.6中的$lookup 又獲得了增強,能夠配合letpipeline 來作出更優秀的連表查詢了。 能夠參考一下Example

其餘聚合操做符

db.aggregate()

這是一個新的方法,用於在admin 庫下,操做一些實例的事件

好比:

REMOVE

新的聚合方法,用於刪除聚合中指定的某一字段

https://docs.mongodb.com/master/reference/aggregation-variables/#variable.REMOVE

Array Update Operator Enhancements

$[]

如今能夠經過$[] 操做符 來對數組中的全部元素進行一次性修改了,並且這個修改能夠是使用相似$divide$sum 等操做符的哦~

&dollar;[<identifier>]

能夠經過$[element] 配合 $cond 條件操做符等,來達到對數組的符合條件的元素統一更新。

mongo Shell Changes

聚合

在MongoDB Shell 中,加入了一些對於session 的操做指令集

JSON Schema

噔噔噔噔~

這個功能也是我力薦的,這裏只作簡要描述。期待下次分享~

咱們能夠經過$jsonSchema操做符來對集合的建立進一步的限制,但千萬不要覺得,這是MongoDB 向 RDB 的妥協哦。

相反的,MongoDB 保留了他的Flexible特性,經過其中的required 屬性,能夠控制哪些字段是強制要求的,哪些是能夠不用保持一致的。

而且!!! 還添加了description 屬性,用來對字段進行註解,這樣,其餘開發者包括DBAer 就能夠一目瞭然啦。

Replica Sets

在副本集中,添加了一些功能和指令集,這些都不是最吸引個人,最吸引個人是如何如今能夠在線添加認證模式了!不須要重啓!沒錯,告別曾經那些半夜的窗口期吧!只有MongoDB 可以作到!只有!

另外咱們的OpLog 也能夠熱重置啦!

Sharded Clusters

添加了一個指令集,用來控制Sharding 的同時併發任務數

ShardingTaskExecutorPoolMaxConnecting

其餘增強

好了,今天的內容就分享到這裏了,下次的分享內容有點糾結了,各位主給點意見?能夠私信我,也能夠在下面留言。

  1. 實戰 MongoDB 3.6 ReplcaSet 在線開啓認證模式

  2. 解讀 MongoDB 3.6 $jsonSchema


我是上海小胖[MiracleYoung],專一MongoDB、MySQL、Redis等開源數據庫的 DevOps,擁抱開源,接受收費。

上海小胖[MiracleYoung] 原創地址: https://segmentfault.com/u/shanghaixiaopang/articles

歡迎各位大神前來評論。

每週五,敬請期待,上海小胖[MiracleYoung] 獨更。

若是夏雨荷還在大明湖畔等着個人話,我就不更了。

相關文章
相關標籤/搜索