package Ġxyz . aj ann . iod os Ċ Ċ import Ġcom . mongodb . Mongo Client Ċ import Ġcom . mongodb . client . Mongo Collection Ċ import Ġcom . mongodb . client . Mongo Database Ċ import Ġcom . mongodb . client . model . Filters Ċ import Ġorg . apache . commons . codec . digest . Digest Utils Ċ import Ġorg . bson . Document Ċ import Ġjava . lang . Exception Ċ Ċ class ĠDB Manager Ġ( private Ġval Ġserver : ĠI od os Server ) Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġmongo Client : ĠMongo Client ĊĠĠĠ Ġprivate Ġval Ġdb : ĠMongo Database ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . server . logger . info (" Connecting Ġto ĠMongoDB Ġdatabase ...") ĊĊĠĠĠĠĠĠĠ Ġthis . mongo Client Ġ= ĠMongo Client ( this . server . config . db . ip , Ġthis . server . config . db . port ) ĊĠĠĠĠĠĠĠ Ġthis . db Ġ= Ġthis . mongo Client . get Database ( this . server . config . db . name ) ĊĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmongo Client . address ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġe . printStackTrace () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis . server . logger . error (" Failed Ġto Ġconnect Ġto ĠMongoDB Ġdatabase !") ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSystem . exit ( 1 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Collection ( name : ĠString ): ĠMongo Collection < Document > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġthis . db . get Collection ( name ) Ġ?: Ġthrow ĠRuntimeException (" Collection Ġ\"$ name \" Ġnot Ġfound !") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Doc From Collection ( doc Key : ĠString , Ġdoc Value : ĠString , Ġcollection Name : ĠString ): ĠDocument ? Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġcollection Ġ= Ġthis . db . get Collection ( collection Name ) Ġ?: Ġthrow ĠRuntimeException (" Collection Ġ\"$ collection Name \" Ġnot Ġfound !") ĊĠĠĠĠĠĠĠ Ġreturn Ġcollection . find ( Filters . eq ( doc Key , Ġdoc Value )). first OrNull () ĊĠĠĠ Ġ} Ċ }