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 &