docker-compose.yml

version: '3.1'
services:
  mongo:
    image: mongo
    restart: always
    ports:
      - "27017:27017"
    environment:
      MONGO_INITDB_ROOT_USERNAME: root
      MONGO_INITDB_ROOT_PASSWORD: example

docker-compose.yml

 mongo-express:
    image: mongo-express
    restart: always
    ports:
      - 8081:8081
    environment:
      ME_CONFIG_MONGODB_ADMINUSERNAME: root
      ME_CONFIG_MONGODB_ADMINPASSWORD: example
      ME_CONFIG_MONGODB_URL: mongodb://root:example@mongo:27017/

Запуск Mongo

docker-compose build
docker-compose up

Mongo Express

База данных Mongo

Коллекции Mongo

Документы Mongo

KMongo

implementation("org.litote.kmongo:kmongo-serialization:4.8.0")
implementation("org.litote.kmongo:kmongo-id-serialization:4.8.0")
implementation("org.json:json:20230227")

connect.kt

val client = KMongo
    .createClient("mongodb://root:example@127.0.0.1:27017")
val mongoDatabase = client.getDatabase("test")

connect.kt

fun prettyPrintJson(json: String) =
    println(
        JSONObject(json)
            .toString(4)
    )

connect.kt

fun prettyPrintCursor(cursor: Iterable<*>) =
    prettyPrintJson("{ result: ${cursor.json} }")

fun prettyPrintExplain(cursor: FindIterable<*>) =
    prettyPrintJson(cursor.explain(
      ExplainVerbosity.EXECUTION_STATS).json)