Spring 数据 deleteBy 查询没有 return 删除对象

Spring data deleteBy query doesnt return deleted object

在Spring-data-mongodb中,我们可以return从存储库的查询方法中删除单个对象吗

public interface MyRepository extends MongoRepository<MyObject, String>{
 Optional<MyObject> deleteByXAndY(String x, String y);
}

如果总是有单个文档被上述查询删除。

我试过了,但它抛出异常,比如无法将 Long 转换为 MyObject。我认为只支持 void、long 或 List 或 Stream。有什么方法可以实现我想要做的事情吗?

Spring 不知道此方法只能删除一个对象,因此它不允许您使用单个结果定义它 returned。毕竟,您在此处定义的 "contract" 中不能保证只有一个匹配项。您可能应该将方法定义为 return a List,然后如果您确定只有一个对象,则只从列表中获取第一个对象。