服务器端JavaScript
MongoDB提供了以下命令,方法和运算符,它们可在服务器端执行JavaScript代码:
mapReduce
以及相应的mongo
shell方法db.collection.mapReduce()
。mapReduce
操作
将值映射或关联到键,对于具有多个值的键,请将每个键的值减少到单个对象。有关更多信息,请参见Map-Reduce。$where
运算符,用于评估JavaScript表达式或函数以查询文档。您还可以为mongo
外壳指定一个JavaScript文件以在服务器上运行。有关更多信息,请参阅
通过服务器上的mongo shell实例运行.js文件。
MongoDB中的JavaScript
尽管这些方法使用JavaScript,但是与MongoDB的大多数交互都不使用JavaScript,而是使用 交互应用程序语言中的惯用驱动程序。
您还可以禁用服务器端的JavaScript执行。有关详细信息,请参见禁用JavaScript的服务器端执行。
注意
如果使用SELinux,则任何需要服务器端JavaScript的 MongoDB操作 都将导致segfault错误。禁用JavaScript的服务器端执行描述了如何禁用服务器端JavaScript的执行。
.js
通过mongo
服务器上的Shell实例运行文件¶您可以.js
为mongo
外壳程序实例指定一个JavaScript()文件,以在服务器上执行该文件。这是执行批管理工作的好技术。当您mongo
在服务器上运行Shell(通过localhost接口进行连接)时,连接速度快且延迟低。
您可以通过--noscripting
在命令行上传递选项或security.javascriptEnabled
在配置文件中进行设置来禁用所有服务器端JavaScript的执行
。