如何从 Java 应用程序禁用 MongoDB 上的服务器端 Java 脚本

How to disable server-side JavaScript on MongoDB from Java Application

我有一个 java Web 应用程序,它在 MongoDB Atlas 实例上执行 CRUD 操作。我想从我的 Java 网络应用程序中为我的 Atlas 实例禁用服务器端 Java 脚本。
我发现 this and this 基本上是说我需要更改 mongod.conf 文件或在 mongod 命令上使用命令行参数 --noscripting。但是我想在 Web 应用程序启动时使用我的 Java Web 应用程序来完成此操作。

MongoDBjava驱动程序是否提供实现此目的的机制?
是否有其他方法可以完成此操作?

注意:我不想从我的 Web 应用程序传递 mongod 命令。

Does the MongoDB java driver provide a mechanism to achieve this?

启用或禁用服务器端 JavaScript 的选项只能在启动时在 MongoDB 服务器配置中设置;无法通过驱动程序或运行时 API 调用进行更改。

由于 MongoDB Atlas 是一项托管服务,因此最终用户无法直接访问 MongoDB 服务器配置,并且仅限于通过管理员公开的选项 UI。

MongoDB Atlas 当前不允许配置 security.javascriptEnabled value: server-side JavaScript execution is disabled for free/shared clusters(M0、M2、M5)并为 M10+ 集群启用。

Are there any alternate ways to get this done?

如果你有一个 M10+ MongoDB Atlas 集群(目前默认启用 JavaScript 执行)你可以 open a support case 并询问是否可以禁用服务器端JavaScript 用于您的集群。客户 requests/feedback 是一个信号,它鼓励更改 MongoDB Atlas 中的默认值或通过 UI.

使其可配置