运行mongoDB shell的JavaScript引擎是什么?

What is the JavaScript engine that runs mongoDB shell?

本文关键字:引擎 是什么 JavaScript mongoDB shell 运行      更新时间:2023-09-26

是V8吗?

从v3.1.7开始,它是SpiderMonkey -在MongoDB 3.2发布说明中确认。

在兼容性说明中解释了原因:

此更改允许使用更现代的JavaScript语言特性,并伴随着少量的mongo shell改进和兼容性更改

这里有一些进一步的注释。

MongoDB v3.3.5更新到SpiderMonkey 45.0.2 ESR。

从V8切换回SpiderMonkey的开发在v3.1.6版本中进行了-参见SERVER-18531,但SpiderMonkey直到v3.1.7才默认启用-参见SERVER-19376。

在v3.1.6之前,它是V8 JavaScript引擎,根据发布说明,它在v2.3.1中成为默认引擎,并且在v2.4发布说明中也强调了这一点。

SpiderMonkey在v2.5.1中被从源代码中删除

在此之前,它是一个扩展的SpiderMonkey v1.7 shell,使用了一些非标准的JavaScript扩展,例如用于XML扩展的ECMAScript。

似乎在更早的时候就已经是V8了,但是在2009年4月从V8迁移到了SpiderMonkey。根据这篇文章,它看起来仍然是MongoDB的v1.1.4 SpiderMonkey,但我找不到原来的开关是什么时候。

MongoDB使用SpiderMonkey,而不是V8。

来源:http://www.mongodb.org/display/DOCS/mongo + - + +交互式Shell

如果你想的话,你可以用V8构建MongoDB