Docs 菜单
Docs 主页
/
MongoDB Manual

服务器端 JavaScript

在此页面上

  • 通过 mongosh 实例在服务器上运行 .js 文件
  • 禁用在服务器端执行 JavaScript
  • 行为

重要

服务器端 JavaScript 已弃用

从MongoDB 8.0开始,服务器端JavaScript函数( $accumulator$function$where )已弃用。 运行这些函数时, MongoDB会记录警告。

从 MongoDB 5.0 开始,Map-reduce 已被弃用。

MongoDB 提供以下命令、方法和运算符,可在服务器端执行 JavaScript 代码:

  • mapReduce和相应的 mongosh方法db.collection.mapReduce() 。 有关详细信息,请参阅Map-Reduce。

  • $where 运算符,用于计算 JavaScript 表达式或函数以查询文档。

  • $accumulator$function 聚合操作,允许用户定义自定义聚合表达式。

您还可以为mongosh指定要在服务器上运行的JavaScript文件。 有关更多信息,请参阅通过mongosh实例在服务器上运行.js文件

注意

MongoDB 中的 JavaScript

尽管这些方法使用 JavaScript,但与 MongoDB 进行的大多数交互并不使用 JavaScript,而是使用采用交互应用程序语言的惯用驱动程序

如果您不需要在服务器端执行 JavaScript 代码,请参阅禁用服务器端执行 JavaScript。

注意

如果使用 SELinux,任何需要服务器端 JavaScript 的 MongoDB 操作都会导致 segfault 错误。禁用在服务器端执行 JavaScript 描述如何禁用在服务器端执行 JavaScript。

您可以为mongosh指定 JavaScript ( .js ) 文件,以在服务器上执行该文件。 这是执行批处理管理工作的好方法。 当您在服务器上运行mongosh并通过本地主机接口进行连接时,连接速度快且延迟低。

您可以禁用 JavaScript 的所有服务器端执行功能:

有关任何并发信息,请参阅每种方法或运算符文档。另请参阅并发表格

MongoDB 6.0升级用于服务器端JavaScript$accumulator$function$where表达式的内部JavaScript引擎,并从 MozJS- 60升级到 MozJS- 91 。 MozJS-60 中存在的几个已弃用的非标准大量和string函数已在 MozJS-91 中删除。

有关已删除数组和字符串函数的完整列表,请参阅 6.0 兼容性说明

来年

MongoDB 是什么?