Employee employee = new Employee(); //delete employee object, under entity collection ("dojCollection") mongoOperation.remove(employee); //delete where empId = 10002, under "dojCollection" collection mongoOperation.remove(new Query(Criteria.where("empId").is(10002)),"dojCollection"); //delete where empId = 10003, under "dojCollection" collection //and return the deleted employee object Employee deletedEmployee = mongoOperation.findAndRemove(new Query(Criteria.where("empId").is(10003)), Employee.class,"dojCollection");
package com.dineshonjava.mongo.dto; import org.springframework.data.annotation.Id; import org.springframework.data.mongodb.core.mapping.Document; /** * @author Dinesh Rajput * */ @Document public class Employee { @Id private int empId; private String empName; private long salary; private int empAge; public int getEmpId() { return empId; } public void setEmpId(int empId) { this.empId = empId; } public String getEmpName() { return empName; } public void setEmpName(String empName) { this.empName = empName; } public long getSalary() { return salary; } public void setSalary(long salary) { this.salary = salary; } public int getEmpAge() { return empAge; } public void setEmpAge(int empAge) { this.empAge = empAge; } @Override public String toString() { return "Employee [age=" + empAge + ", empName=" + empName + ", empId=" + empId + ", salary=" + salary + "]"; } }
<beans xmlns:context="http://www.springframework.org/schema/context" xmlns:mongo="http://www.springframework.org/schema/data/mongo" xmlns:p="http://www.springframework.org/schema/p" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.springframework.org/schema/beans" xsi:schemalocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/data/mongo http://www.springframework.org/schema/data/mongo/spring-mongo-1.0.xsd"> <!-- Default bean name is 'mongo' --> <mongo:mongo host="localhost" port="27017"/> <!-- Default bean name is 'mongo' --> <mongo:mongo> <mongo:options connections-per-host="100" threads-allowed-to-block-for-connection-multiplier="5" max-wait-time="120000000" connect-timeout="10000000" socket-keep-alive="true" socket-timeout="15000000" auto-connect-retry="true"/> </mongo:mongo> <context:annotation-config/> <context:component-scan base-package="com.dineshonjava.mongo"> <context:exclude-filter type="annotation" expression="org.springframework.context.annotation.Configuration"/> </context:component-scan> <!-- Offers convenience methods and automatic mapping between MongoDB JSON documents and your domain classes. --> <bean class="org.springframework.data.mongodb.core.MongoTemplate" id="mongoTemplate"> <constructor-arg ref="mongo"/> <constructor-arg name="databaseName" value="dineshonjavaDB"/> </bean>
package com.dineshonjava.mongo.main; import static org.springframework.data.mongodb.core.query.Criteria.where; import static org.springframework.data.mongodb.core.query.Query.query; import java.util.ArrayList; import java.util.List; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.mongodb.core.MongoOperations; import org.springframework.data.mongodb.core.query.Update; import org.springframework.stereotype.Repository; import com.dineshonjava.mongo.dto.Employee; /** * @author Dinesh Rajput * */ @Repository public class HelloMongoDB { @Autowired MongoOperations mongoOperations; public void execute() { if (mongoOperations.collectionExists("dojCollection")) { mongoOperations.dropCollection("dojCollection"); } Employee employee3 = new Employee(); employee3.setEmpId(1001); employee3.setEmpName("Dinesh Rajput"); employee3.setSalary(70000); employee3.setEmpAge(26); Employee employee4 = new Employee(); employee4.setEmpId(1002); employee4.setEmpName("Adesh Rajput"); employee4.setSalary(30000); employee4.setEmpAge(23); Employee employee5 = new Employee(); employee5.setEmpId(1003); employee5.setEmpName("Vinesh Rajput"); employee5.setSalary(32000); employee5.setEmpAge(23); Employee employee6 = new Employee(); employee6.setEmpId(1004); employee6.setEmpName("Sweety Rajput"); employee6.setSalary(50000); employee6.setEmpAge(22); List<Employee> empList = new ArrayList<Employee>(); empList.add(employee3); empList.add(employee4); empList.add(employee5); empList.add(employee6); mongoOperations.insert(empList, "dojCollection"); System.out.println("***********************CASE 1************************"); // Case 1 ...delete where empId = 1001 // delete mongoOperations.remove(query(where("empId").is(1001)), "dojCollection"); System.out.println("deleted"); System.out.println("***********************CASE 2**findAndRemove User*********************"); // Case 2 ... delete where empId = 10002, and returns the deleted record // find Employee employee2 = mongoOperations.findAndRemove(query(where("empId").is(1002)), Employee.class,"dojCollection"); System.out.println(employee2); } }Step 4: Running the Example
package com.dineshonjava.mongo.main; import org.springframework.context.ConfigurableApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; /** * @author Dinesh Rajput * */ public class HelloMongoTestApp { /** * @param args */ public static void main(String[] args) { ConfigurableApplicationContext context = new ClassPathXmlApplicationContext("mongo-config.xml"); HelloMongoDB hello = (HelloMongoDB) context.getBean("helloMongoDB"); hello.execute(); System.out.println( "DONE!" ); } }
Labels: mongodb