Querying Documents
Explore different ways of querying documents using Spring Data MongoDB.
We can use MongoDB’s powerful querying capabilities through Spring Data MongoDB in querying documents. Spring Data MongoDB offers flexible and expressive query language that can easily retrieve data based on specific criteria, such as filtering, sorting, and aggregating documents. This simplifies complex querying tasks and enhances the efficiency of data retrieval from MongoDB.
Querying documents with MongoTemplate
Spring Data MongoDB provides a high-level API for interacting with MongoDB through its MongoTemplate
class. It allows us to perform various database operations, including querying documents.
Using the Query
class
Spring Data MongoDB’s Query
class provides a way to create queries on MongoDB along with features like projections, pagination, and sorting. Let’s use it in the SpringDataMongodbApplication
class to query the Book
and Author
documents.
PK A META-INF/ PK A m±>=@ ? META-INF/MANIFEST.MFóMÌËLK-.Ñ K-*ÎÌϳR0Ô3àåòÌ-ÈIÍMÍ+I, êdä¤Z)¸%¦ä¤*%¤ñrñr PK A org/ PK A org/gradle/ PK A org/gradle/wrapper/ PK A Prº« - * org/gradle/wrapper/GradleWrapperMain.classXxÇþ´§Õ¢r¢"E;"L1XÂ! $| @Dà ´înÅÞ%Nât§F§'q N°ÄNwzïÕé½â8ùg÷tº² }ù>4·óæÍ+ÿ{óÞ>ñÐe kÅ"ÏT±ÏR¡âÙrx«ày*J$¹ÏWpøñB?^$ /Vñ¼Ôs~¼LÁËUTIÆ*¼B.¾RÅ«p^Á«UÌqɯQñZ¼N½[÷Èáõ*îżÑ7ùñfoQðVuxZ¼]Á;T,îÅ;ÜçÇ»TðnïÁýòë½rxÞïÇü¸ ¢ÈùU|ªø0R*F1¦â"R0®à#*6á;pÙ+rÃGýxXÁ#òócrñã*>OáSø´ÏHÎG¥H?ÏÉáó*¾/ªø¾¬à+*vâ«swìki·éínßw¤£kWû®==]»áãú)½1ªÇ»m+jÙjƶ·÷ëѤ!,ØÞÖÞÓÒnoËÈ©N³ìíílïÉPæP6lÄ#ö¢Pý~_«9@máHÜØ3¬ýXÔFýzt¿nEä<MôÙÃÀ²°i 5Yú@Ôh<mé##Õ¸Ãpg»ôHNùbü:Tè²£]·(¯ÚcY@MKÞ©[å.GÄlÜ\-±L.Ú#!)ev[¼%#º0øQmg4ÒØjÆbz|@:»Çá¡ Ò~3~ä ùºÏ&l#¶'£*K@ëÄ6ÊPÌ;Âøy¨tôdí#{e"O,!rýKÚhã$]úéÊꥱf~DÍ¡!iì¯(Eî«HSÚÏýIÛ$ÿ/þ¹\öö3ýë¯18úÀ@>D*ämpnrg2ⵡ<Z~\«Òe+«°ù£LOid&5âÝØ»¯k(-Ê!vÛúcä feÜn³5ª'mÆàv3h·,ݶÞb>â$¿¯¬ MÞS·NkÓõb©vI«ßpó|NÁA[-2<D´§ãQSаÝ[C£`F§:¾oÿüÓÉdN`(ÈZé²JRàªaæ°oáÛ ¾£á»øyN LF[`Ýÿqþ4|?ÐðCüHÁ5ü1&³CO3~)ø¹_à"xÔpOWð+ ¿Æoæ{¸Õ)ër4ÊSî.¦Ék$ ¿ÍEpn·$FYcI¾ßÉá÷Ë=·±h%lN$^L8ס?àZvÑ%wçêɺ'ÅþIÁ5üÕð7Ü¿ãªà*ëÄíÌk@YÎâ_rß¿<®á?xBÁ5:$1CE§bMp×9ADj2'ö%ãv$fd)_ø5Q*ð ÒxM¨¢L`K«vpÀ 10Ø/ÏÝñ V0I?8h±`?{Ó1=a/M,_]Çý¶&41Sª+WD &*E"¨S©öú\³pU³51GÌeFy¨ÑÄ|I\ ó"j®y(¥Î ¬:² Ѳ45O÷ÆOÄy»&ÅPýtºSºÑ³^GDW¦ÔMÅÃÖ-ÖP2fÄí©LËÈs02´Kj\¡3²ü;yºÞxöάmNq`¡2ììv1o¢]vS%Ýì¶M£*gIai®ÏÌòR#/ I»EV@(_1¨º ÓùÐ-ëZè´úz®Ãy=¦0Þ¶BS5øÃ×UãU^'zçjN1u(ã8äD*Ü î¹æU==]ͤÁCd~Óê`>EåZxÊÇ´0Í×-N7J3s¦àD²ç^²ìÖå}Q³¨.oVüBÓµÌåÓÛJT*&©Nåu]§Ó66«Gé>ê&O0¤VÄ>ÛÏÓ<QȯÉáÂ#1î-/ ©«7ïZk¬Î\,3×N·sK{åÌ6Ç)/¡ó²Áê¶ÌÓòé #Ã×Ý?l8·yãdR ÙÙünwk®?HÎÀÝâþ!=^í±WZâö¯83O¶iç°Ñ¢!Ãé¹.MxÍLÑB*¶Íô£ÌÉTIÊïBÕ¸°Mt$O Çf/ú<Ó³Mï~{]Ûvä<ʦy"9ÂËNè`ý~Üù'5cvs6eweÍ5Î÷dÍ+8ß5¯ß¼·sì!¥¿¿Å £ñÃÒ˱Ä!±£æ2à ÌßRôá ¹¸Y§Qe¤=2¢ð1øvq(Þ=¾Q(M¾_ þ5¾âK(í+ u÷ùZw 3S($WHr¥$GwkåÞê_C ³JÆ0»I©QH-DzÌMa^ 55\ßäçÕÈé¦ÒcXÔ¤Ö¨ ã¨í«)à¸!Åã¨ë#ó(bÉ8RÖ²Oz¾Ë t¾Ö£+0+±«°«Ñ5ô&b±ï 0p3Î`îDîÂfcÎc+F«Þáv'|ù^:LDKqGø5¤¤Ã(¢û¡ã¹öâ$ú1@Ôrn`1¸sÃP¨«wÉÃå9Út'(í<m"ÆÄ=&¿ùI:BYEü]LTB}+õ£hà èVd&Á(w¶ì@Ý®C§ãPÐãç+â8$¿:©ò!V»!_eäJ÷ß ¼,geY("Ñæ+í¤Uü[h¬Iá¦Q¬Í·'KÜÜ8>RÓâ#3øÛPSXÂú6¤póm÷afxúVâ+TÑhNaó='[}°¥¯¨¡{[Gñ¤+ªå"¶ \§ÍjEûGrSh#nÅv"×J´¤mË"в R5h!Rq+mÜÁdè nÒö¯û8ÅY5wf ®kü:˯ L8wõ©ü«o£TÁÁN JUùM;ÜçdPÛ(KaûÝåX,';Rèf¡SÂXtj1A³ÖÉDWiø¬QåC7fSZMù8vRzUâ¶üèD³Ä§Å <ÃáºóPK A ÛÆ.q/ 3 # gradle-wrapper-classpath.properties+(ÊÏJM.)¶M/JLÉIÕMÎÉÔ2Ë Rt3RS¸JóJ2sSm¹ PK A ) gradle-wrapper-parameter-names.properties PK A org/gradle/cli/ PK A ÕÜ?®< S 1 org/gradle/cli/AbstractCommandLineConverter.classT]oA=ëÚ"¶µ~C?R*O¦Òh4!ÒÄÇaY×m`C£Âߢ/4ÑÄà2ÞP´ôaçÞ9{ï¹sæÞÝ?þPFÙ@;:v D°c@ÇóÀ{xY9yxÕõ\Ycfs§Úß±V®g{m[´x»KHªá[¼{Ê ì' &?»bÃNɼӵKV×-ÕÛ)¸%ü^{ìÈ÷Îm!mQaظÌõµÿ¯|¢j«U©nÃlãóR{Né ¬ì¤}f[²C¤ ´¬-¢ kôÚÁ=,È÷¹Øak^ÀÌÁß«^tÊêÖÂõ¥-J×_,»/]ßèØc¸ÕtË¡ +;X¨rîCµuVQCW uÁhúCaÙoÜ «ú¶Ô1aà6Cúºë2QľLÜÃK &!9¯a{ Qá23Quá{¶'§M¡Ð~rÕÝìõ3|i153¯mnDevf¨èÎßJ £~-C Hý;"d©9´´«edcù°äDqÖ¸SX¡Õ`I²w/!)²:·FyÝ7²ÙÍ_|¼@ô8_AË#ÄöFVX!ÊK`öªR~;©xëô)ï>=NâRnp´âØcÿhÿâ¯òÏô4=c/-e·ÿPK A ×µ³X ì ; org/gradle/cli/AbstractPropertiesCommandLineConverter.classV[WUþN2ÉÀ0å H¡°Ô¤ÄKKµIQJ©¦Ø;L0fâÌáOøîZ¾ûZ_¢tºúìÿñA·}N.iÊ2Y9çì}öÞç;ûvòëßOð6¾Q0÷e| `ó|¸£`w,â'?ä«û ÒøHÁÇÈô` Ë=Å V»ð>íB¶xÀÏø°&cë.cCÆÁiÞ?]cì¼ÁÐ1-c¹¼·i8´Í"qB[×kcrºÆ¼mÓe¸±B¢àhù¢Ðfb~ÓõM÷V»d8i¸öÞfå¹ÙÛÚ'¦á$ F]èp¥ä¶Å0fv´}-QÔ¬B"ë9¦U ÑÑ»§E#Ï0ÖfÏÕ³f±[·-³PvòTä4ØÐV5Ç%\ÜÁX3L¾X¤íÚQgIW´¬W]Àp§0?¡¬:£ìÅÄVJFOѹMA`i Ò®q¸¦ËÆâAÉ1\W@ µó¦\ì¶AÜA)5"Éã4¡æä8,ÕäF³hªJ+g^Èz¾KÂañ@7ª e<¢ fÍ¥y"¨ß¾´;D='þû+;î%£,üW»J/G¬dí²£÷L¶Xg<Ãm©x#ý§íªx ã*&0.ãKo 'ã+A|gº<ß¡ o©(`[©b»*ØSaÁ¦¼¾¢¯ «ÂCû%MUÅ4¥Ü¹zÝù%ÜLEu|tg·1qBuÞ)÷Ëk$1Ãøú 5ÖÈÃÖxE;i1g¯÷Yu[së°¨ª¯D:2ÜKZMÍu6ò?Al©T'¶[ô'\íLz ½¢oBE1]^½Í.³õ¡& z6ðK®Z6<ñ¶ÒS+Yh~ßu.VÞ8XÙb·»u÷ù2©¿iÕî°t»eÔd£N§Û¾³áH;¾4AÁ?2/y/ jéÀ~¤ £431ðº¸Ë$ñ¾ æÚ<ÉgyWjFK$í§ùj,ð¾ ÿtþìD °¯ ¸'R® kýøÔ$G è}/aNäÆ«ÖªÄj~äú¨ýDHñæARüôßèô ͹?·î #ô0,_;Êðiqá9|·¤)Ô[Aßl øq"û0àÇú%ÊTÂéq¯Ô¶þù9þNêËäR7¦È3ä wÈóo="\ü× ÓbôÓjèkDóÛæ·ÊQ0Þ¾Îá-úé#KuïsÎuâÜQþÄÙ¿ác¿cøÚº) Qá=áÐ[ýótxV ¿p¢2?Ç`á'g[©:¶é«YMá¶çþPK A }ÎyG K 1 org/gradle/cli/CommandLineArgumentException.classÍJ1 Oú3£µ¶Zm+êÂî´UÜV " ÂàÂîÓiFfĘ́¯åªàÂð¡Ä$-U´fq{rïwOÈûÇë34K(`Ëmu çöêþ=}¤^DEèõSÅEØ=.åT}.ØmÐQ¤/ ©â& tÂ_ªÐGÌ"î]Ê8¦bl *Ìb&Ò«ç=¤\.³$¡¡¥þrAÐ^âí2(ùdæ[ÃÅf&ÕVú2S»æÆoë/c§PF Î?^E°û5ÿ.)Ùâ-äõ/1ttuÖÓyNïN»3y±÷+:¬ÚÔ;XէƬJëkâ uÍ0¬Êu£gäõî¶;ÇSä~ÂötÓ¾ ÌÊ0w3§*6¬ÅMÛ]ûPK A ³ßâú g ) org/gradle/cli/CommandLineConverter.classQMKÃ@}ÓÖÆÔ¯ª'Ï"4 F<6¥ EQ($xߦë²%ÝÈvSúÛ<øüQâ6 L ]XvæÍ¾÷߯o ÷8wÐupJpL-¸6~/²óS¦ÿb¸fã%ìu<å ¼*Dè<.þid¦æÎn$ b&×pW'<(aÑR`ÄqàÙKxî ¾Ðlr?I¥ÿÆôOFÙlÆÔ$jçήwÚøºvRm_U%J¡¡ïÐÄýªñ°vJQë?ÉÔê_äFë%p}»b.·;o¾ºÿ-7ÛZä3®ÌfSm¡Õi¶M´l¶g³ÅÛplÔÀ~Qqk*[9Àa¯#ïÉPK A Sf Õ g &