package Ġcom . github . k est . executor . mongodb . executor Ċ Ċ import Ġcom . github . lem fi . k est . core . model . Execution Ċ import Ġcom . mongodb . client . Mongo Clients Ċ import Ġorg . bson . Document Ċ import Ġorg . slf 4 j . LoggerFactory Ċ Ċ internal Ġdata Ġclass ĠMongoDB Update Document Execution ( ĊĠĠĠ Ġval Ġcollection : ĠString , ĊĠĠĠ Ġval Ġfilter : ĠList < Pair < String , ĠAny ? >>, ĊĠĠĠ Ġval Ġupdate : ĠList < Pair < String , ĠAny ? >>, ĊĠĠĠ Ġval Ġconnection : ĠString , ĊĠĠĠ Ġval Ġdatabase : ĠString , Ċ ) Ġ: ĠExecution < Unit >() Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġexecute () Ġ{ ĊĊĠĠĠĠĠĠĠ ĠLoggerFactory . getLogger (" MONGO DB - K est "). info ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ| Update ocument : ĠĊĠĠĠĠĠĠĠĠĠĠĠ Ġ| ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ| database : Ġ$ database ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ| collection : Ġ$ collection ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ| filter : ĠĊĠĠĠĠĠĠĠĠĠĠĠ Ġ| ${ filter . map Ġ{ Ġ"${ it . first }: Ġ${ it . second }\ n " Ġ}} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ| ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ| update : ĠĊĠĠĠĠĠĠĠĠĠĠĠ Ġ| ${ update . map Ġ{ Ġ"${ it . first }: Ġ${ it . second }\ n " Ġ}} ĊĠĠĠĠĠĠĠ Ġ""" . trim Margin () ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ ĠMongo Clients . create ( connection ). get Database ( database ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. get Collection ( collection ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. update Many ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠDocument (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfilter . forEach Ġ{ Ġput ( it . first , Ġit . second ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠDocument (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġput ("\ $ set ", ĠDocument (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġupdate . forEach Ġ{ Ġput ( it . first , Ġit . second ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ } Ċ