我已经使用MongoDB选项启动了我的--noscripting服务器:
mongod --dbpath C:\MongoData --noscripting但是,我仍然可以加载JavaScript文件并在其中执行代码:
> load('/Users/d.banks/Documents/mongo-rocks/hello-world.js')
true
> Hello('Dave')
Hello Dave!我认为脚本运行是因为它是客户端的?如果是这样的话,是什么决定了脚本是客户端还是服务器端?如果没有,为什么要运行脚本?
发布于 2018-01-16 16:06:10
这..。
load('/Users/d.banks/Documents/mongo-rocks/hello-world.js')..。是客户端脚本的一个示例。它是客户端的,因为它在客户端运行。
启动选项--noscripting禁用服务器端脚本,即运行在服务器上的Javascript。其中的例子包括
$where:$where是一个在服务器端执行的JavaScript表达式或函数。$group:$reduce、$keyf和finalize参数是由服务器端执行的Javascript函数。$mapreduce:map和reduce参数是Javascript函数,在服务器端执行。因此,总之,--noscripting禁用服务器端脚本,它对客户端脚本没有影响.服务器端脚本是在服务器上执行的脚本,上面列出的三个脚本就是主要的例子。
https://stackoverflow.com/questions/48284972
复制相似问题