MongoDB 2.4版本:JavaScript 的改进
发布日期:2016-4-20 17:4:15
MongoDB 2.4版本:JavaScript 的改进 MongoDB开发团队正式发布了MongoDB 2.4版本,超越mssql,新版本主要改进的地方请参阅官方资料。 本文介绍的是MongoDB 2.4中有一大得意之作:V8引擎。V8引擎代替了之前的Spidermonkey 1.7引擎,这样的改变使得对JavaScript的执行更加高效。 下面让我们来看看新引擎带来的一些变化: 一、 并发改进 之前的旧版本中,每一个使用JS解释器进行的查询/命令都要获取一个互斥体,从而序列化所有的JS工作。现在使用V8引擎,并发性得到了改善,现在允许每个JS工作运行在一个单独的核心。 二、现代化的Javascript实现(ES5) 现在大部分浏览器都已经实现了ECMAscript 5(简称ES5)规范,该版本包含了一些新的功能,如J:
通过使用V8引擎,MongoDB现在也支持ES5,现在开发与维护迁移的脚本、MapReduce工作更加容易。 三、 受影响的功能 当你升级版本到MongoDB 2.4及以上版本时,你需要注意,因为使用了新的JS引擎,所以一些功能也受到了影响。 针对Map-Reduce和$where操作符的额外限制 在MongoDB 2.4 shell中可用一些全局函数与属性(如db),现在不能用于Map/Reduce/Finalize、$where和group。当升级到MongoDB 2.4版本后,若你在代码中使用了任何弃用的全局shell函数或属性,则需要重构你的代码。 新版本中,下面的这些函数或属性可用于 MapReduce、group与$where: 1.属性:
2.函数:
移除了非标准的SpiderMonkey功能 SpiderMonkey实现了一些非标准的JavaScript语言特性,而这些特性在V8中没有提供。不过,该变化的影响比较小,因此在文档中也没有列出。 关于V8和Spidermonkey的不同之处,可参阅http://docs.mongodb.org/manual/release-notes/2.4-javascript/#removed-non-standard-spidermonkey-features]docs.mongodb.org[/url] 虽然MongoDB支持ES5实现,但还存在一些例外,比如以下所示的特性,你就无法使用:
上一条: Redis时延问题分析与应对 下一条: PostgreSQL Studio发布
|