MongoDB 5.0 版本正式发布,新特性速览!

业余杂谈 herman 656浏览
公告:“业余草”微信公众号提供免费CSDN下载服务(只下Java资源),关注业余草微信公众号,添加作者微信:codedq,发送下载链接帮助你免费下载!
本博客日IP超过2000,PV 3000 左右,急需赞助商。
极客时间所有课程通过我的二维码购买后返现24元微信红包,请加博主新的微信号:codedq,之前的微信号好友位已满,备注:返现
受密码保护的文章请关注“业余草”公众号,回复关键字“0”获得密码
所有面试题(java、前端、数据库、springboot等)一网打尽,请关注文末小程序
视频教程免费领

MongoDB 5.0 版本正式发布,新特性速览!

在昨天,也就是 2021 年 7月 14 日,MongoDB 官方宣布在其 MongoDB.live 全球用户大会上,正式发 布MongoDB 5.0 版本以及一系列新功能。MongoDB 5.0 主要新发布的特性功能有:增强了隐私、扩展和安全性,支持原生时间序列集合、集群索引和窗口功能。

MongoDB 5.0

时间序列集合

MongoDB 5.0 引入了时间序列集合,它有效地存储了一段时期内的测量序列。与普通集合相比,在时间序列集合中存储时间序列数据可以提高查询效率,并减少数据和索引的磁盘使用。

新的聚合操作符

MongoDB 5.0 引入了以下聚合操作:

  • $count: $count在现有管道$group阶段和新的 MongoDB 5.0$setWindowFields 阶段中使用时,提供所有文档的计数。
  • $dateAdd: 将一个 Date 对象按指定的时间单位递增。
  • $dateDiff: 返回两个日期之间的差异。
  • $sampleRate: 添加$sampleRate方法,以给定的速度从管道中概率性地选择文档。
  • $rand: 每次调用$rand方法时,都会生成一个0到1之间的随机浮点数。新的$sampleRate 操作是基于$rand`的。

窗口操作符

MongoDB 5.0 引入了$setWindowFields管道阶段,允许你在一个集合中的指定跨度的文档上执行操作,称为窗口。该操作根据所选择的窗口操作符返回结果。

一般聚合的改进

  • $expr操作符:比较运算符使用索引

从 MongoDB 5.0 开始,放在$expr操作符中的$eq$lt$lte$gt$gte操作符可以使用索引来提高性能。

  • $ifNull 表达式接受多个输入表达式

从 MongoDB 5.0 开始,在返回一个替换表达式之前,你可以为$ifNull表达式指定多个输入表达式。

聚合的 let 选项

从 MongoDB 5.0 开始,aggregate 命令和db.collection.aggregate()辅助方法有一个let选项,用于指定一个可以在聚合管道的其他地方使用的变量列表。这允许你通过将变量与查询文本分开来提高命令的可读性。

  • $lookup阶段:简洁的相关子查询

从 MongoDB 5.0 开始,聚合管道$lookup阶段支持简明的相关子查询,改善集合之间的连接。

变更事件输出

从 MongoDB 5.0 开始,变更事件包含字段updateDescription.truncatedArrays来记录数组的截断。

索引

删除了geoHaystack索引和geoSearch命令。

MongoDB 5.0 删除了废弃的geoHaystack索引和geoSearch命令。使用带有$geoNear的 2d 索引或支持的geospatial查询操作符来代替。

如果将你的 MongoDB 实例升级到 5.0 并将featureCompatibilityVersion设置为 5.0 你需要先删除以前存在的geoHaystack索引。

新的错误信息

db.collection.createIndex()db.collection.createIndexes()操作在选项指定不正确时有新的错误信息。

中断索引构建

如果副本集中的一个节点在索引构建过程中完全关闭或回滚,索引构建的进度现在会被保存到磁盘上。当服务器重新启动时,索引创建将从保存的位置恢复。

reIndex 行为改变

从 MongoDB 5.0 开始,reIndex命令和 db.collection.reIndex()shell 方法只能在独立实例上运行 。

安全

支持配置 TLS 1.3 密码套件

MongoDB 5.0 引入了opensslCipherSuiteConfig参数,以便在使用 TLS 1.3 加密时,能够配置 OpenSSL 所支持的密码套件。

无缝数据再分配

实时重新分片功能允许用户随着工作负载的增长和变化,按需更改集合的片键,而无需数据库停机或者复杂的迁移。

MongoDB 发布路线图

MongoDB Atlas

MongoDB Atlas的无服务器数据库预览版,说白了,这东西就是 mongodb 上云了,以后大家可以选择 mongodb 云数据库了。通过易用的无服务器模型,开发人员现在可以获得业界领先的文档数据库的高度灵活性和丰富表达能力。无服务器实例现已进入预览阶段,支持最新的MongoDB功能,因此用户不必担心后向兼容和升级问题。用户只需选择一个云区域即可开始,然后开始使用对象直接映射到代码中的文档来进行开发。

业余草公众号

最后,欢迎关注我的个人微信公众号:业余草(yyucao)!可加作者微信号1:xmtxtt(5000人已满),微信号2:xttblog(5000人已满),微信号3:codedq(超3800)。备注:“1”,添加博主微信拉你进微信群。备注错误不会同意好友申请。再次感谢您的关注!后续有精彩内容会第一时间发给您!原创文章投稿请发送至532009913@qq.com邮箱。商务合作也可添加作者微信进行联系!

本文原文出处:业余草: » MongoDB 5.0 版本正式发布,新特性速览!