Spring Core

Spring Data MongoDB : Update document

<div dir&equals;"ltr" style&equals;"text-align&colon; justify&semi;">&NewLine;<p>In this tutorial we will discuss about the updating the document to the mongoDB&period; Document is same as a row in the table of relational database&period; In the our example we will update a document to &&num;8220&semi;<b>dojCollection<&sol;b>&&num;8221&semi; of &&num;8220&semi;<b>dineshonjavaDB<&sol;b>&&num;8220&semi;&period;<br &sol;>&NewLine;<b><&sol;b><&sol;p>&NewLine;<h2><b>Updating documents in a collection-<&sol;b><&sol;h2>&NewLine;<p>For updates we can elect to update the first document found using MongoOperation&&num;8217&semi;s method updateFirst or we can update all documents that were found to match the query using the method updateMulti&period;<&sol;p>&NewLine;<p>Here is an example of an update of salary of all employees where employee age is 24 and we are adding a one time &dollar;50&period;00 bonus to the salary using the &dollar;inc operator&period;<&sol;p>&NewLine;<pre class&equals;"highlight">import static org&period;springframework&period;data&period;mongodb&period;core&period;query&period;Criteria&period;where&semi; &NewLine;import static org&period;springframework&period;data&period;mongodb&period;core&period;query&period;Query&semi; &NewLine;import static org&period;springframework&period;data&period;mongodb&period;core&period;query&period;Update&semi; &NewLine; &NewLine; &period;&period;&period; &NewLine; &NewLine; WriteResult wr &equals; mongoTemplate&period;updateMulti&lpar; &NewLine;new Query&lpar;where&lpar;"empAge"&rpar;&period;is&lpar;24&rpar;&rpar;&comma;new Update&lpar;&rpar;&period;inc&lpar;"salary"&comma; 50&period;00&rpar;&comma;Employee&period;class&rpar;&semi; &NewLine;<&sol;pre>&NewLine;<h2><b>Methods for executing updates for documents&colon;<&sol;b><br &sol;>&NewLine;<b><&sol;b><&sol;h2>&NewLine;<p><b>1&period; updateFirst<&sol;b> Updates the first document that matches the query document criteria with the provided updated document&period;<br &sol;>&NewLine;<b>2&period; updateMulti<&sol;b> Updates all objects that match the query document criteria with the provided updated document&period;<&sol;p>&NewLine;<h3 class&equals;"title">Methods for the Update class<&sol;h3>&NewLine;<p>The Update class can be used with a little &&num;8216&semi;syntax sugar&&num;8217&semi; as its methods are meant to be chained together and you can kickstart the creation of a new Update instance via the static method public static Update update&lpar;String key&comma; Object value&rpar; and using static imports&period;<&sol;p>&NewLine;<p>Here is a listing of methods on the Update class<&sol;p>&NewLine;<div class&equals;"itemizedlist">&NewLine;<ul >&NewLine;<li>Update <b>addToSet <&sol;b> &lpar;String key&comma; Object value&rpar; Update using the &dollar;addToSet update modifier<&sol;li>&NewLine;<li>Update <b>inc <&sol;b> &lpar;String key&comma; Number inc&rpar; Update using the &dollar;inc update modifier<&sol;li>&NewLine;<li>Update <b>pop <&sol;b> &lpar;String key&comma; Update&period;Position pos&rpar; Update using the &dollar;pop update modifier<&sol;li>&NewLine;<li>Update <b>pull <&sol;b> &lpar;String key&comma; Object value&rpar; Update using the &dollar;pull update modifier<&sol;li>&NewLine;<li>Update <b>pullAll <&sol;b> &lpar;String key&comma; Object&lbrack;&rsqb; values&rpar; Update using the &dollar;pullAll update modifier<&sol;li>&NewLine;<li>Update <b>push <&sol;b> &lpar;String key&comma; Object value&rpar; Update using the &dollar;push update modifier<&sol;li>&NewLine;<li>Update <b>pushAll <&sol;b> &lpar;String key&comma; Object&lbrack;&rsqb; values&rpar; Update using the &dollar;pushAll update modifier<&sol;li>&NewLine;<li>Update <b>rename <&sol;b> &lpar;String oldName&comma; String newName&rpar; Update using the &dollar;rename update modifier<&sol;li>&NewLine;<li>Update <b>set <&sol;b> &lpar;String key&comma; Object value&rpar; Update using the &dollar;set update modifier<&sol;li>&NewLine;<li>Update <b>unset <&sol;b> &lpar;String key&rpar; Update using the &dollar;unset update modifier<&sol;li>&NewLine;<&sol;ul>&NewLine;<&sol;div>&NewLine;<p>In Spring data for MongoDB&comma; you can use <b>save&lpar;&rpar;<&sol;b>&comma; <b>updateFirst&lpar;&rpar;<&sol;b> and <b>updateMulti&lpar;&rpar;<&sol;b> to update existing domain object from mongoDB database&period;<&sol;p>&NewLine;<pre class&equals;"highlight">Employee employee &equals; new Employee&lpar;"&period;&period;&period;"&rpar;&semi; &NewLine; &NewLine; &sol;&sol;update employee object into entity collection &NewLine; mongoOperation&period;save&lpar;employee&rpar;&semi; &NewLine; &NewLine; &sol;&sol;update employee object into "newCollection" collection &NewLine; mongoOperation&period;save&lpar;"newCollection"&comma;employee&rpar;&semi; &NewLine; &NewLine; &sol;&sol;update first found record&comma; empName field&comma; where empId &equals; 1004&comma; &NewLine; &sol;&sol;from your default collection &NewLine; mongoOperation&period;updateFirst&lpar; &NewLine; new Query&lpar;Criteria&period;where&lpar;"empId"&rpar;&period;is&lpar;1004&rpar;&rpar;&comma; &NewLine; Update&period;update&lpar;"empName"&comma; "new name"&rpar;&rpar;&semi; &NewLine; &NewLine; &sol;&sol;update first found record&comma; empName field&comma; where empId &equals; 1004&comma; &NewLine; &sol;&sol;from collection named "employee" &NewLine; mongoOperation&period;updateFirst&lpar;"employee"&comma; &NewLine; new Query&lpar;Criteria&period;where&lpar;"empId"&rpar;&period;is&lpar;1004&rpar;&rpar;&comma; &NewLine; Update&period;update&lpar;"empName"&comma; "new name"&rpar;&rpar;&semi; &NewLine; &NewLine; &sol;&sol;update all found records&comma; salary field&comma; where empAge &equals; "24"&comma; &NewLine; &sol;&sol;from collection named "employee" &NewLine; mongoOperation&period;updateMulti&lpar;"employee"&comma; &NewLine; new Query&lpar;Criteria&period;where&lpar;"empAge"&rpar;&period;is&lpar;24&rpar;&rpar;&comma; &NewLine; Update&period;update&lpar;"salary"&comma; 70000&rpar;&rpar;&semi; &NewLine; &NewLine; &sol;&sol;update first found record&comma; age field&comma; where empId &equals; 1001&comma; using &dollar;inc &NewLine; Update updateAge &equals; new Update&lpar;&rpar;&semi; &NewLine; updateAge&period;inc&lpar;"age"&comma; 10&rpar;&semi; &NewLine; &NewLine; mongoOperation&period;updateFirst&lpar;"employee"&comma; &NewLine; new Query&lpar;Criteria&period;where&lpar;"empId"&rpar;&period;is&lpar;1001&rpar;&rpar;&comma; updateAge&rpar;&semi; &NewLine;<&sol;pre>&NewLine;<p><b>Note&colon;<&sol;b> By default&comma; if you didn’t define the collection name in updateFirst or updateMulti method&comma; it will update the found object in default collection&period;<&sol;p>&NewLine;<p>See the full example to insert document into the &&num;8220&semi;<b>dojCollection<&sol;b>&&num;8221&semi; of the &&num;8220&semi;<b>dineshonjavaDB<&sol;b>&&num;8221&semi;<&sol;p>&NewLine;<div class&equals;"separator" style&equals;"clear&colon; both&semi; text-align&colon; center&semi;"><img src&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;wp-content&sol;uploads&sol;2013&sol;01&sol;springdata3&period;png" border&equals;"0" &sol;><&sol;div>&NewLine;<h3><b>Step 1&colon; Creating the domain class Employee<&sol;b><br &sol;>&NewLine;<b>Employee&period;java  <&sol;b><&sol;h3>&NewLine;<pre class&equals;"highlight">package com&period;dineshonjava&period;mongo&period;dto&semi; &NewLine; &NewLine;import org&period;springframework&period;data&period;annotation&period;Id&semi; &NewLine;import org&period;springframework&period;data&period;mongodb&period;core&period;mapping&period;Document&semi; &NewLine; &NewLine;&sol;&ast;&ast; &NewLine; &ast; &commat;author Dinesh Rajput &NewLine; &ast; &NewLine; &ast;&sol; &NewLine;&commat;Document &NewLine;public class Employee &lbrace; &NewLine; &commat;Id &NewLine; private int empId&semi; &NewLine; private String empName&semi; &NewLine; private long salary&semi; &NewLine; private int empAge&semi; &NewLine; public int getEmpId&lpar;&rpar; &lbrace; &NewLine; return empId&semi; &NewLine; &rcub; &NewLine; public void setEmpId&lpar;int empId&rpar; &lbrace; &NewLine; this&period;empId &equals; empId&semi; &NewLine; &rcub; &NewLine; public String getEmpName&lpar;&rpar; &lbrace; &NewLine; return empName&semi; &NewLine; &rcub; &NewLine; public void setEmpName&lpar;String empName&rpar; &lbrace; &NewLine; this&period;empName &equals; empName&semi; &NewLine; &rcub; &NewLine; public long getSalary&lpar;&rpar; &lbrace; &NewLine; return salary&semi; &NewLine; &rcub; &NewLine; public void setSalary&lpar;long salary&rpar; &lbrace; &NewLine; this&period;salary &equals; salary&semi; &NewLine; &rcub; &NewLine; public int getEmpAge&lpar;&rpar; &lbrace; &NewLine; return empAge&semi; &NewLine; &rcub; &NewLine; public void setEmpAge&lpar;int empAge&rpar; &lbrace; &NewLine; this&period;empAge &equals; empAge&semi; &NewLine; &rcub; &NewLine; &commat;Override &NewLine; public String toString&lpar;&rpar; &lbrace; &NewLine; return "Employee &lbrack;age&equals;" &plus; empAge &plus; "&comma; empName&equals;" &plus; empName &plus; "&comma; empId&equals;" &NewLine; &plus; empId &plus; "&comma; salary&equals;" &plus; salary &plus; "&rsqb;"&semi; &NewLine; &rcub; &NewLine;&rcub; &NewLine;<&sol;pre>&NewLine;<h3><b>Step 2&colon; Creating configuration file<br &sol;>&NewLine;mongo-config&period;xml<&sol;b><&sol;h3>&NewLine;<pre class&equals;"highlight">&lt&semi;beans xmlns&colon;context&equals;"http&colon;&sol;&sol;www&period;springframework&period;org&sol;schema&sol;context" xmlns&colon;mongo&equals;"http&colon;&sol;&sol;www&period;springframework&period;org&sol;schema&sol;data&sol;mongo" xmlns&colon;p&equals;"http&colon;&sol;&sol;www&period;springframework&period;org&sol;schema&sol;p" xmlns&colon;xsi&equals;"http&colon;&sol;&sol;www&period;w3&period;org&sol;2001&sol;XMLSchema-instance" xmlns&equals;"http&colon;&sol;&sol;www&period;springframework&period;org&sol;schema&sol;beans" xsi&colon;schemalocation&equals;"http&colon;&sol;&sol;www&period;springframework&period;org&sol;schema&sol;beans &NewLine; http&colon;&sol;&sol;www&period;springframework&period;org&sol;schema&sol;beans&sol;spring-beans-3&period;0&period;xsd &NewLine; http&colon;&sol;&sol;www&period;springframework&period;org&sol;schema&sol;data&sol;mongo &NewLine; http&colon;&sol;&sol;www&period;springframework&period;org&sol;schema&sol;data&sol;mongo&sol;spring-mongo-1&period;0&period;xsd"&gt&semi; &NewLine; &NewLine; &lt&semi;&excl;-- Default bean name is 'mongo' --&gt&semi; &NewLine; &lt&semi;mongo&colon;mongo host&equals;"localhost" port&equals;"27017"&sol;&gt&semi; &NewLine; &lt&semi;&excl;-- Default bean name is 'mongo' --&gt&semi; &NewLine; &lt&semi;mongo&colon;mongo&gt&semi; &NewLine; &lt&semi;mongo&colon;options connections-per-host&equals;"100" &NewLine; threads-allowed-to-block-for-connection-multiplier&equals;"5" &NewLine; max-wait-time&equals;"120000000" &NewLine; connect-timeout&equals;"10000000" &NewLine; socket-keep-alive&equals;"true" &NewLine; socket-timeout&equals;"15000000" &NewLine; auto-connect-retry&equals;"true"&sol;&gt&semi; &NewLine; &lt&semi;&sol;mongo&colon;mongo&gt&semi; &NewLine; &NewLine; &lt&semi;context&colon;annotation-config&sol;&gt&semi; &NewLine; &NewLine; &lt&semi;context&colon;component-scan base-package&equals;"com&period;dineshonjava&period;mongo"&gt&semi; &NewLine; &lt&semi;context&colon;exclude-filter type&equals;"annotation" expression&equals;"org&period;springframework&period;context&period;annotation&period;Configuration"&sol;&gt&semi; &NewLine; &lt&semi;&sol;context&colon;component-scan&gt&semi; &NewLine; &NewLine; &lt&semi;&excl;-- Offers convenience methods and automatic mapping between MongoDB JSON documents and your domain classes&period; --&gt&semi; &NewLine; &lt&semi;bean class&equals;"org&period;springframework&period;data&period;mongodb&period;core&period;MongoTemplate" id&equals;"mongoTemplate"&gt&semi; &NewLine; &lt&semi;constructor-arg ref&equals;"mongo"&sol;&gt&semi; &NewLine; &lt&semi;constructor-arg name&equals;"databaseName" value&equals;"dineshonjavaDB"&sol;&gt&semi; &NewLine; &lt&semi;&sol;bean&gt&semi; &NewLine; &NewLine;&lt&semi;&sol;beans&gt&semi; &NewLine;<&sol;pre>&NewLine;<h3><b>Step 3&colon; Creating Class which inserting the document into the mongoDB&period;<&sol;b><br &sol;>&NewLine;<b>HelloMongoDB&period;java<&sol;b><&sol;h3>&NewLine;<pre class&equals;"highlight">package com&period;dineshonjava&period;mongo&period;main&semi; &NewLine; &NewLine;import static org&period;springframework&period;data&period;mongodb&period;core&period;query&period;Criteria&period;where&semi; &NewLine;import static org&period;springframework&period;data&period;mongodb&period;core&period;query&period;Query&period;query&semi; &NewLine; &NewLine;import java&period;util&period;ArrayList&semi; &NewLine;import java&period;util&period;List&semi; &NewLine; &NewLine;import org&period;springframework&period;beans&period;factory&period;annotation&period;Autowired&semi; &NewLine;import org&period;springframework&period;data&period;mongodb&period;core&period;MongoOperations&semi; &NewLine;import org&period;springframework&period;data&period;mongodb&period;core&period;query&period;Update&semi; &NewLine;import org&period;springframework&period;stereotype&period;Repository&semi; &NewLine; &NewLine;import com&period;dineshonjava&period;mongo&period;dto&period;Employee&semi; &NewLine; &NewLine;&sol;&ast;&ast; &NewLine; &ast; &commat;author Dinesh Rajput &NewLine; &ast; &NewLine; &ast;&sol; &NewLine;&commat;Repository &NewLine;public class HelloMongoDB &lbrace; &NewLine; &NewLine; &commat;Autowired &NewLine; MongoOperations mongoOperations&semi; &NewLine; &NewLine; public void execute&lpar;&rpar; &lbrace; &NewLine; if &lpar;mongoOperations&period;collectionExists&lpar;Employee&period;class&rpar;&rpar; &lbrace; &NewLine; mongoOperations&period;dropCollection&lpar;Employee&period;class&rpar;&semi; &NewLine; &rcub; &NewLine; &NewLine; &sol;&sol; Case1 - insert a employee&comma; put "DOJ" as collection name &NewLine; Employee employee &equals; new Employee&lpar;&rpar;&semi; &NewLine; employee&period;setEmpId&lpar;1001&rpar;&semi; &NewLine; employee&period;setEmpName&lpar;"Anamika Rajput"&rpar;&semi; &NewLine; employee&period;setSalary&lpar;30000&rpar;&semi; &NewLine; employee&period;setEmpAge&lpar;23&rpar;&semi; &NewLine; &NewLine; mongoOperations&period;save&lpar;employee&comma; "DOJ"&rpar;&semi; &NewLine; &NewLine; &sol;&sol; find &NewLine; Employee employee1 &equals; mongoOperations&period;findOne&lpar;query&lpar;where&lpar;"empId"&rpar;&period;is&lpar;1001&rpar;&rpar;&comma; Employee&period;class&comma;"DOJ"&rpar;&semi; &NewLine; System&period;out&period;println&lpar;employee1&rpar;&semi; &NewLine; &NewLine; &sol;&sol; Update employee object&comma; salary &NewLine; employee1&period;setSalary&lpar;35000&rpar;&semi; &NewLine; mongoOperations&period;save&lpar;employee1&comma; "DOJ"&rpar;&semi; &NewLine; &NewLine; &sol;&sol; find &NewLine; Employee employeeupdated &equals; mongoOperations&period;findOne&lpar;query&lpar;where&lpar;"empId"&rpar;&period;is&lpar;1001&rpar;&rpar;&comma; Employee&period;class&comma;"DOJ"&rpar;&semi; &NewLine; System&period;out&period;println&lpar;employeeupdated&rpar;&semi; &NewLine; &NewLine; &sol;&sol; Case 2 &period;&period;&period; update salary field&comma; &dollar;set &NewLine; Employee employee2 &equals; mongoOperations&period;findOne&lpar;query&lpar;where&lpar;"empId"&rpar;&period;is&lpar;1001&rpar;&rpar;&comma; Employee&period;class&comma;"orders"&rpar;&semi; &NewLine; System&period;out&period;println&lpar;employee2&rpar;&semi; &NewLine; &NewLine; &sol;&sol; Update employee object&comma; salary &NewLine; System&period;out&period;println&lpar;"Case 2&period;&period;&period;by updateFirst&lpar;&rpar; - &dollar;set"&rpar;&semi; &NewLine; &NewLine; mongoOperations&period;updateFirst&lpar;query&lpar;where&lpar;"empId"&rpar;&period;is&lpar;1001&rpar;&rpar;&comma; Update&period;update&lpar;"salary"&comma; 40000&rpar;&comma;"orders"&rpar;&semi; &NewLine; &NewLine; &sol;&sol; find &NewLine; Employee employeeupdated1 &equals; mongoOperations&period;findOne&lpar;query&lpar;where&lpar;"empId"&rpar;&period;is&lpar;1001&rpar;&rpar;&comma; Employee&period;class&comma;"orders"&rpar;&semi; &NewLine; System&period;out&period;println&lpar;employeeupdated1&rpar;&semi; &NewLine; &NewLine; &sol;&sol; Case 3 &period;&period;&period; update salary field&comma; &dollar;inc &NewLine; System&period;out&period;println&lpar;"Case 3&period;&period;&period;by updateFirst&lpar;&rpar; - &dollar;inc"&rpar;&semi; &NewLine; Update updateSalary &equals; new Update&lpar;&rpar;&semi; &NewLine; updateSalary&period;inc&lpar;"salary"&comma; 1000&rpar;&semi; &NewLine; mongoOperations&period;updateFirst&lpar;query&lpar;where&lpar;"empId"&rpar;&period;is&lpar;1001&rpar;&rpar;&comma; updateSalary&comma; "orders"&rpar;&semi; &NewLine; Employee employee3 &equals; mongoOperations&period;findOne&lpar;query&lpar;where&lpar;"empId"&rpar;&period;is&lpar;1001&rpar;&rpar;&comma; Employee&period;class&rpar;&semi; &NewLine; System&period;out&period;println&lpar;employee3&rpar;&semi; &NewLine; &rcub; &NewLine;&rcub; &NewLine;<&sol;pre>&NewLine;<h3><b>Step 4&colon; Running the Example<&sol;b><&sol;h3>&NewLine;<p>Following code shows how to run this example<br &sol;>&NewLine;<b><br &sol;>&NewLine;<&sol;b> <b>HelloMongoTestApp&period;java<&sol;b><&sol;p>&NewLine;<pre class&equals;"highlight">package com&period;dineshonjava&period;mongo&period;main&semi; &NewLine; &NewLine;import org&period;springframework&period;context&period;ConfigurableApplicationContext&semi; &NewLine;import org&period;springframework&period;context&period;support&period;ClassPathXmlApplicationContext&semi; &NewLine; &NewLine;&sol;&ast;&ast; &NewLine; &ast; &commat;author Dinesh Rajput &NewLine; &ast; &NewLine; &ast;&sol; &NewLine;public class HelloMongoTestApp &lbrace; &NewLine; &NewLine; &sol;&ast;&ast; &NewLine; &ast; &commat;param args &NewLine; &ast;&sol; &NewLine; public static void main&lpar;String&lbrack;&rsqb; args&rpar; &lbrace; &NewLine; ConfigurableApplicationContext context &equals; new ClassPathXmlApplicationContext&lpar;"mongo-config&period;xml"&rpar;&semi; &NewLine; &NewLine; HelloMongoDB hello &equals; &lpar;HelloMongoDB&rpar; context&period;getBean&lpar;"helloMongoDB"&rpar;&semi; &NewLine; hello&period;execute&lpar;&rpar;&semi; &NewLine; System&period;out&period;println&lpar; "DONE&excl;" &rpar;&semi; &NewLine; &rcub; &NewLine; &NewLine;&rcub; &NewLine;<&sol;pre>&NewLine;<p>If everything is fine then run the above main application as Java Application we will get the following output&period;<&sol;p>&NewLine;<div style&equals;"background-color&colon; &num;ff99cc&semi;"><b>output&colon;<&sol;b><br &sol;>&NewLine;log4j&colon;WARN No appenders could be found for logger &lpar;org&period;springframework&period;context&period;support&period;ClassPathXmlApplicationContext&rpar;&period;<br &sol;>&NewLine;log4j&colon;WARN Please initialize the log4j system properly&period;<br &sol;>&NewLine;Employee &lbrack;age&equals;23&comma; empName&equals;Anamika Rajput&comma; empId&equals;1001&comma; salary&equals;30000&rsqb;<br &sol;>&NewLine;Employee &lbrack;age&equals;23&comma; empName&equals;Anamika Rajput&comma; empId&equals;1001&comma; salary&equals;35000&rsqb;<br &sol;>&NewLine;Employee &lbrack;age&equals;26&comma; empName&equals;Dinesh Rajput&comma; empId&equals;1001&comma; salary&equals;70000&rsqb;<br &sol;>&NewLine;Case 2&&num;8230&semi;by updateFirst&lpar;&rpar; &&num;8211&semi; &dollar;set<br &sol;>&NewLine;Employee &lbrack;age&equals;26&comma; empName&equals;Dinesh Rajput&comma; empId&equals;1001&comma; salary&equals;90000&rsqb;<br &sol;>&NewLine;Case 3&&num;8230&semi;by updateFirst&lpar;&rpar; &&num;8211&semi; &dollar;inc<br &sol;>&NewLine;Employee &lbrack;age&equals;26&comma; empName&equals;Dinesh Rajput&comma; empId&equals;1001&comma; salary&equals;100000&rsqb;<br &sol;>&NewLine;DONE&excl;<&sol;div>&NewLine;<h3><b>Download SourceCode&plus;Libs<&sol;b><br &sol;>&NewLine;<a href&equals;"https&colon;&sol;&sol;sites&period;google&period;com&sol;site&sol;dinesh9582486434&sol;my-forms&sol;MongoDBSpringUpdateDemo&period;zip&quest;attredirects&equals;0&amp&semi;d&equals;1" target&equals;"&lowbar;blank" rel&equals;"noopener"><b>MongoDBSpringUpdateDemo&period;zip<&sol;b><&sol;a><&sol;h3>&NewLine;<p><b>References<&sol;b><br &sol;>&NewLine;<b><a href&equals;"http&colon;&sol;&sol;static&period;springsource&period;org&sol;spring-data&sol;data-mongo&sol;docs&sol;1&period;0&period;0&period;M5&sol;reference&sol;html&sol;&num;mongodb-template-update" target&equals;"&lowbar;blank" rel&equals;"noopener">Spring data for MongoDB<&sol;a><&sol;b><&sol;p>&NewLine;<p>&nbsp&semi;<&sol;p>&NewLine;<div style&equals;"background-color&colon; &num;ff99cc&semi;">                        <b>     &lt&semi;&lt&semi;<a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;spring-data-mongodb-insert-document&sol;">previous<&sol;a>&lt&semi;&lt&semi;             &vert;&vert; <a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;introduction-to-mongodb&sol;">index  <&sol;a>&vert;&vert;         &gt&semi;&gt&semi;<a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;spring-data-mongodb-query-document&sol;">next<&sol;a>&gt&semi;&gt&semi;<&sol;b><&sol;div>&NewLine;<&sol;div>&NewLine;<div class&equals;"wp-post-navigation"> &NewLine;&Tab;&Tab;&Tab;&Tab;&Tab;&Tab;&Tab;&Tab;&Tab; <div class&equals;"wp-post-navigation-pre"> &NewLine;&Tab;&Tab;&Tab;&Tab;&Tab;&Tab;&Tab;&Tab;&Tab; <a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;spring-data-mongodb-insert-document&sol;">Previous<&sol;a> &NewLine;&Tab;&Tab;&Tab;&Tab;&Tab;&Tab;&Tab;&Tab;&Tab; <&sol;div> &NewLine;&Tab;&Tab;&Tab;&Tab;&Tab;&Tab;&Tab;&Tab;&Tab; <div class&equals;"wp-post-navigation-next"> &NewLine;&Tab;&Tab;&Tab;&Tab;&Tab;&Tab;&Tab;&Tab;&Tab; <a href&equals;"https&colon;&sol;&sol;dineshonjava&period;com&sol;spring-data-mongodb-query-document&sol;">Next<&sol;a> &NewLine;&Tab;&Tab;&Tab;&Tab;&Tab;&Tab;&Tab;&Tab;&Tab; <&sol;div> &NewLine;&Tab;&Tab;&Tab;&Tab;&Tab;&Tab;&Tab;&Tab;&Tab;<&sol;div>&NewLine;<script type&equals;"text&sol;javascript">&NewLine;jQuery&lpar;document&rpar;&period;ready&lpar;function&lpar;&dollar;&rpar; &lbrace;&NewLine; &dollar;&period;post&lpar;'https&colon;&sol;&sol;dineshonjava&period;com&sol;wp-admin&sol;admin-ajax&period;php'&comma; &lbrace;action&colon; 'mts&lowbar;view&lowbar;count'&comma; id&colon; '582'&rcub;&rpar;&semi;&NewLine;&rcub;&rpar;&semi;&NewLine;<&sol;script>

Dinesh Rajput

Dinesh Rajput is the chief editor of a website Dineshonjava, a technical blog dedicated to the Spring and Java technologies. It has a series of articles related to Java technologies. Dinesh has been a Spring enthusiast since 2008 and is a Pivotal Certified Spring Professional, an author of a book Spring 5 Design Pattern, and a blogger. He has more than 10 years of experience with different aspects of Spring and Java design and development. His core expertise lies in the latest version of Spring Framework, Spring Boot, Spring Security, creating REST APIs, Microservice Architecture, Reactive Pattern, Spring AOP, Design Patterns, Struts, Hibernate, Web Services, Spring Batch, Cassandra, MongoDB, and Web Application Design and Architecture. He is currently working as a technology manager at a leading product and web development company. He worked as a developer and tech lead at the Bennett, Coleman & Co. Ltd and was the first developer in his previous company, Paytm. Dinesh is passionate about the latest Java technologies and loves to write technical blogs related to it. He is a very active member of the Java and Spring community on different forums. When it comes to the Spring Framework and Java, Dinesh tops the list!

Share
Published by
Dinesh Rajput

Recent Posts

Strategy Design Patterns using Lambda

Strategy Design Patterns We can easily create a strategy design pattern using lambda. To implement…

4 years ago

Decorator Pattern using Lambda

Decorator Pattern A decorator pattern allows a user to add new functionality to an existing…

4 years ago

Delegating pattern using lambda

Delegating pattern In software engineering, the delegation pattern is an object-oriented design pattern that allows…

4 years ago

Spring Vs Django- Know The Difference Between The Two

Technology has emerged a lot in the last decade, and now we have artificial intelligence;…

4 years ago

TOP 20 MongoDB INTERVIEW QUESTIONS 2022

Managing a database is becoming increasingly complex now due to the vast amount of data…

4 years ago

Scheduler @Scheduled Annotation Spring Boot

Overview In this article, we will explore Spring Scheduler how we could use it by…

4 years ago