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 Examplepackage 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