Categorygithub.com/awkwardjake/mongrel/v2
modulepackage
2.0.0
Repository: https://github.com/awkwardjake/mongrel.git
Documentation: pkg.go.dev

# README

mongrel

MongoDB Go Driver dependent connect/disconnect package

Install

go get github.com/awkwardjake/mongrel

Docker Compose example

Example MongoDB service configuration for your docker-compose.yml file

version: "3.9"

services:
  mongo:
    image: mongo
    container_name: backendDB
    env_file:
      - .env
    restart: always
    ports:
      - "${MONGODBPORT}:27017"
    environment:
      MONGO_INITDB_DATABASE: ${DBAPP}
      MONGO_INITDB_ROOT_USERNAME: ${ROOTDBUSER}
      MONGO_INITDB_ROOT_PASSWORD: ${ROOTDBPASSWORD}
    volumes:
      - ./scripts/userScript.js:/docker-entrypoint-initdb.d/user.js:ro
      - mongodb_data_container:/usr/apps/exampleDB/database/mongo/db

volumes:
  mongodb_data_container:

Create a user JavaScript

Add this user create JavaScript file to project directory and reference it in docker-compose.yml. If using example above, it would be ./scripts/userScript.js

Modify JS to suit needs in terms of user credentials and permissions within MongoDB

db.createUser(
    {
        user:"appUser",
        pwd:"appUserPass",
        roles: 
        [
            {
                role: "readWrite", 
                db: "test"
            }
        ]
    }
)

# Structs

MongoConnectDetails model.