2016-06-06 11 views

Antwort

1

Sie wie folgt tun:

public void deleteRecord() { 
    MongoOperations mongoOperation = (MongoOperations) ctx.getBean("mongoTemplate"); 
    Query searchQuery = new Query(Criteria.where("id").is(34562341112313)); 
    mongoOperation.remove(searchQuery, Your_entity_class.class); 
    logger.info("Delete success"); 
} 

Das ist mein realistisches Beispiel:

/** 
* Delete by condition(s). 
*/ 
public void deleteJob() { 
    MongoOperations mongoOperation = (MongoOperations) ctx.getBean("mongoTemplate"); 
    Query searchQuery = new Query(Criteria.where("company").is("DCV")); 
    mongoOperation.remove(searchQuery, Job.class); 
    logger.info("Đã xóa các công việc đăng bởi DCV."); 
} 

Quelle: https://github.com/SmartJobVN/MongoDB_SpringDataMongo/blob/master/src/main/java/vn/smartJob/jobs/MongoSpringJavaConfigApplication.java#L132

Referenz: http://docs.spring.io/spring-data/mongodb/docs/current/reference/html/

+0

Danke dovy. Ich hoffe es wird voll helfen. –

0

Sie sollten es wie folgt löschen:

@Repository 
public class AppDaoClass{ 
    @Autowired 
    MongoTemplate mongoTemplate; 
    @Override 
    public void deleteSomething(String somethingId) { 
     mongoTemplate.remove(Query.query(Criteria.where("somethingId").is(somethingId)), Ticket.class); 
    } 
} 

Die erste „somethingId“ ist der Name, den Sie es in Ihrem Modell gab, und die zweite somethingId ist für die Parametar Sie in Ihnen Methode geben.

Und Ihre Domain Model:

@Document 
public class Model { 

    @Id 
    private String somethingId; 
    private String someName; 
    private String someOtherName; 
} 

Achten Sie darauf, Benutzer richtige Anmerkungen für Ihre Klassen @Document und @Repository. Und fügen Sie Ihrem ID-Feld eine @Id Annotation hinzu.

Hoffe, das hilft.

Verwandte Themen