Skip to content

集成 MongoDB

通过在 OlaresManifest.yaml 中声明 MongoDB 中间件,并将系统注入的配置值映射到容器的环境变量中,即可在应用中使用 Olares 提供的 MongoDB 服务。

安装 MongoDB 服务

通过应用市场安装 MongoDB 服务。

  1. 从启动台打开应用市场,搜索“MongoDB”。
  2. 点击获取,然后点击安装,并等待安装完成。

安装完成后,MongoDB 服务及其连接信息将显示在控制面板的中间件列表中。

配置 OlaresManifest.yaml

OlaresManifest.yaml 中添加所需的中间件配置。

  • 使用 username 字段指定 MongoDB 数据库用户。
  • 使用 databases 字段申请一个或多个数据库。
  • (可选)在每个数据库下使用 script 字段指定初始化脚本,这些脚本将在数据库创建完成后执行。

示例

yaml
middleware:
  mongodb:
    username: chromium
    databases:
    - name: chromium
      script:
      - 'db.getSiblingDB("$databasename").myCollection.insertOne({ x: 111 });'
      # 请确保每一行都是完整的查询语句。

映射环境变量

在应用的部署 YAML 中,将系统注入的 .Values.mongodb.* 字段映射为应用所需的环境变量。

示例

yaml
containers:
  - name: my-app
    # MongoDB 对应的注入值如下
    env:
      - name: MONGODB_HOST
        value: "{{ .Values.mongodb.host }}"

      - name: MONGODB_PORT
        value: "{{ .Values.mongodb.port }}"

      - name: MONGODB_USER
        value: "{{ .Values.mongodb.username }}"

      - name: MONGODB_PASSWORD
        value: "{{ .Values.mongodb.password }}"

      # 数据库名称
      # 在 OlaresManifest 中配置的数据库名(例如:app_db)
      - name: MONGODB_DATABASE
        value: "{{ .Values.mongodb.databases.app_db }}"

MongoDB 变量参考

MongoDB 运行时变量会在部署过程中注入到 values.yaml 中。这些变量由系统统一管理,用户无法自行修改。

变量类型说明
.Values.mongodb.hostStringMongoDB 主机地址。
.Values.mongodb.portNumberMongoDB 端口。
.Values.mongodb.usernameStringMongoDB 用户名。
.Values.mongodb.passwordStringMongoDB 密码。
.Values.mongodb.databasesMap<String,String>请求的数据库集合,按数据库名为键。
例如申请 app_db,可通过 .Values.mongodb.databases.app_db 获取对应的值。