【问题标题】:Spring data deleteBy query doesnt return deleted objectSpring数据deleteBy查询不返回已删除的对象
【发布时间】:2019-07-17 13:03:59
【问题描述】:

在 Spring-data-mongodb 中,我们可以像下面这样从存储库的查询方法中返回单个删除的对象

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

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

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

【问题讨论】:

    标签: spring-data spring-data-mongodb


    【解决方案1】:

    Spring 不知道此方法只能删除一个对象,因此它不允许您使用返回的单个结果来定义它。毕竟,您在此处定义的“合同”中并不能保证只有一个匹配项。您可能应该定义返回 List 的方法,然后如果您确定只有一个对象,则只需从列表中获取第一个对象。

    【讨论】:

      猜你喜欢
      • 2015-09-29
      • 2022-08-03
      • 1970-01-01
      • 1970-01-01
      • 2015-11-14
      • 1970-01-01
      • 2019-05-13
      • 2018-02-22
      • 1970-01-01
      相关资源
      最近更新 更多