package Ġcom . me lar dev . spring . rest . repositories Ċ Ċ import Ġcom . me lar dev . spring . rest . entities . Todo Ċ import Ġorg . springframework . data . mongodb . repository . Query Ċ import Ġorg . springframework . data . repository . reactive . Reactive Crud Repository Ċ import Ġorg . springframework . stereotype . Repository Ċ import Ġreactor . core . publisher . Flux Ċ import Ġreactor . core . publisher . Mono Ċ import Ġjava . time . LocalDateTime Ċ Ċ @ Repository Ċ interface ĠTod os Repository Ġ: ĠReactive Crud Repository < Todo , ĠString > Ġ{ ĊĊĊĠĠĠ Ġ// Ġthis Ġwill Ġnot Ġwork , ĠSpring Ġdata Ġwould Ġstill Ġtreat Ġthis ĊĠĠĠ Ġ// Ġmethod Ġas Ġa Ġquery Ġmethod Ġand Ġthe Ġname Ġis Ġnot Ġmeaningful Ġat Ġall ĊĠĠĠ Ġ// Ġ@ Query ( fields Ġ= Ġ"{ description : Ġ 0 }", Ġexists Ġ= Ġtrue ) ĊĊĠĠĠ Ġ// ĠGet Ġall Ġdocuments , Ġall Ġfields Ġexcept Ġdescription ĊĠĠĠ Ġ// Ġ@ Query ( fields Ġ= Ġ"{ description : Ġ 0 }", Ġvalue Ġ= Ġ"{ id : Ġ{$ exists : true }} ") ĊĠĠĠ Ġ// ĠGet Ġall Ġdocuments , Ġspecified Ġfields Ġonly . ĠId : 1 Ġis Ġoptional , Ġif Ġskipped Ġthen Ġit Ġwill Ġbe Ġ 1 Ġany ways ĊĠĠĠ Ġ@ Query ( fields Ġ= Ġ"{ id : Ġ 1 , Ġtitle : Ġ 1 , Ġcompleted : 1 , ĠcreatedAt : Ġ 1 , ĠupdatedAt : 1 }", Ġvalue Ġ= Ġ"{ id : Ġ{\ $ exists : true }} ") ĊĠĠĠ Ġfun ĠfindAll H ql Summary (): ĠFlux < Todo > ĊĊĠĠĠ Ġ// ĠThis Ġis Ġtreated Ġas Ġa Ġquery Ġmethod !!! Ġeven Ġusing Ġ@ Query , Ġbecause Ġwe Ġhave Ġonly Ġset Ġfields Ġarg , Ġand Ġnot Ġvalue ĊĠĠĠ Ġ@ Query ( fields Ġ= Ġ"{ description : 0 }") ĊĠĠĠ Ġfun ĠfindBy Is Completed False (): ĠFlux < Todo > ĊĊĠĠĠ Ġ// ĠThis Ġis Ġnot Ġa Ġquery Ġmethod , Ġwhy ? Ġnotice Ġthe Ġvalue Ġarg Ġis Ġset . ĊĠĠĠ Ġ@ Query ( fields Ġ= Ġ"{ description : 0 }", Ġvalue Ġ= Ġ"{ is Completed : Ġfalse }") ĊĠĠĠ Ġfun ĠfindBy Completed False H ql (): ĠFlux < Todo > ĊĊĠĠĠ Ġ// ĠThis Ġis Ġa ĠSpring ĠData Ġquery Ġmethod ĊĠĠĠ Ġ@ Query ( fields Ġ= Ġ"{ description : 0 }") ĊĠĠĠ Ġfun ĠfindBy Is Completed IsTrue (): ĠFlux < Todo > ĊĊĠĠĠ Ġ@ Query ( fields Ġ= Ġ"{ description : 0 }", Ġvalue Ġ= Ġ"{ is Completed : Ġtrue }") ĊĠĠĠ Ġfun ĠfindBy Completed IsTrue H ql (): ĠFlux < Todo > ĊĊĠĠĠ Ġfun ĠfindBy Is Completed ( completed : ĠBoolean ): ĠFlux < Todo > ĊĠĠĠ Ġfun ĠfindBy Is Completed Is ( completed : ĠBoolean ): ĠFlux < Todo > ĊĊĠĠĠ Ġ@ Query ( fields Ġ= Ġ"{ description : 0 }", Ġvalue Ġ= Ġ"{ is Completed : Ġ? 0 }") ĊĠĠĠ Ġfun ĠfindBy H ql Is Completed ( completed : ĠBoolean ): ĠFlux < Todo > ĊĊĠĠĠ Ġfun ĠfindBy Is Completed True (): ĠFlux < Todo > ĊĊĠĠĠ Ġfun ĠfindBy Is Completed IsFalse (): ĠFlux < Todo > ĊĊĠĠĠ Ġfun ĠfindBy Title Contains ( title : ĠString ): ĠFlux < Todo > ĊĊĠĠĠ Ġfun ĠfindBy Description Contains ( description : ĠString ): ĠFlux < Todo > ĊĊĠĠĠ Ġfun ĠfindBy Title And Description ( title : ĠString , Ġdescription : ĠString ): ĠMono < Todo > ĊĊĠĠĠ Ġfun ĠfindBy CreatedAt After ( date : ĠLocalDateTime ): ĠList < Todo > ĊĊĠĠĠ Ġfun ĠfindBy CreatedAt Before ( date : ĠLocalDateTime ): ĠFlux < Todo > ĊĊĠĠĠ Ġfun ĠfindBy Description Contains ( description : ĠMono < String >): ĠFlux < Todo > ĊĊĠĠĠ Ġfun ĠfindBy Title And Description ( title : ĠMono < String >, Ġdescription : ĠString ): ĠMono < Todo > Ċ Ċ }