version: '3.1'
services:
mongo:
image: mongo
restart: always
ports:
- "27017:27017"
environment:
MONGO_INITDB_ROOT_USERNAME: root
MONGO_INITDB_ROOT_PASSWORD: example
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/
docker-compose build
docker-compose up
implementation("org.litote.kmongo:kmongo-serialization:4.8.0")
implementation("org.litote.kmongo:kmongo-id-serialization:4.8.0")
implementation("org.json:json:20230227")
val client = KMongo
.createClient("mongodb://root:example@127.0.0.1:27017")
val mongoDatabase = client.getDatabase("test")
fun prettyPrintJson(json: String) =
println(
JSONObject(json)
.toString(4)
)
fun prettyPrintCursor(cursor: Iterable<*>) =
prettyPrintJson("{ result: ${cursor.json} }")
fun prettyPrintExplain(cursor: FindIterable<*>) =
prettyPrintJson(cursor.explain(
ExplainVerbosity.EXECUTION_STATS).json)