如何在Spring中使用MongoRepository在mongodb中找到OneAndAndDelete

时间:2016-12-02 02:40:49

标签: java spring mongodb crud

我正在使用Spring网络服务和MongoDb来保存我的数据。目前我的Repository类扩展了MongoRepository,其接口的obj被注入到我的Controller中。 没有方法可以在MongoRepository接口中查找和删除特定实体。如何在不提供具体实施的情况下实现这一目标?我需要同时进行操作。

这是我在github上的代码,如果它有用:https://github.com/RyanNewsom/DentistAppointmentSchedulerService

2 个答案:

答案 0 :(得分:1)

我最终搞清楚了这个。我创建了一个自定义类并使用了MongoTemplate。然后,您可以使用mongoTemplate提交查询。它包含更多mongo特定的实现。

@Repository
public class AppointmentCustomRepository {
    @Autowired
    MongoTemplate mongoTemplate;

    public Appointment getAppointmentAndDelete(String id) {
        return mongoTemplate.findAndRemove(Query.query(Criteria.where("id").is(id)), Appointment.class);
    }
}

答案 1 :(得分:0)

示例代码段,使用Java API在Mongo DB中查找和删除一个文档

MongoCollection<Document> collection = database.getCollection("PasstheCollectionName");
Document document = collection.find.first();
Object value = document.get("_id");
Bson filter = Filter.and(Filter.eq("_id",value));
collection.findOneAndDelete(filter);