我正在使用Spring网络服务和MongoDb来保存我的数据。目前我的Repository类扩展了MongoRepository,其接口的obj被注入到我的Controller中。 没有方法可以在MongoRepository接口中查找和删除特定实体。如何在不提供具体实施的情况下实现这一目标?我需要同时进行操作。
这是我在github上的代码,如果它有用:https://github.com/RyanNewsom/DentistAppointmentSchedulerService
答案 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);