mongo-express:表示するデータベースをユーザーに許しているものに限定する

GUI 操作便利なんですが、一般ユーザーに許しているデータベースだけ表示したかったのでメモです。
MongoDBmongo-express も docker イメージを使います。

ユーザーの作成

一般ユーザーを作成します。

use test
db.createUser(
  {
    user: "john",
    pwd: "wayne",
    roles: [
      { role: "readWrite", db: "kuma" },
      { role: "readWrite", db: "emon" }
    ]
  }
)

docker-compose.yaml

version: '3.1'

services:

  mongo:
    image: mongo
    restart: always
    environment:
      MONGO_INITDB_ROOT_USERNAME: root
      MONGO_INITDB_ROOT_PASSWORD: example
    volumes:
      - ./db:/data/db

  mongo-express:
    image: mongo-express
    restart: always
    ports:
      - 8081:8081
    environment:
      # ME_CONFIG_MONGODB_ADMINUSERNAME: root
      # ME_CONFIG_MONGODB_ADMINPASSWORD: example
      ME_CONFIG_MONGODB_AUTH_DATABASE: test
      ME_CONFIG_MONGODB_AUTH_USERNAME: john
      ME_CONFIG_MONGODB_AUTH_PASSWORD: wayne
      ME_CONFIG_MONGODB_SERVER: mongo

mongo-express

許可したデータベースだけ表示されています。

MongoDB 解体新書 (Amazon)

コメント