如何使用查询注释删除Mongo存储库中的项目?

2022-09-01 15:00:51

我正在使用Spring Data和MongoDB,使用MongoRepository。

我想知道是否可以使用查询注释通过过滤器进行删除。我一直在寻找这里和谷歌,我找不到任何文档。


答案 1
@Query(value="{'id' : $0}", delete = true)
public Person deleteById (String id);

答案 2

也许您可以使用存储库删除查询。下面是文档中的一个示例

public interface PersonRepository extends MongoRepository<Person, String> {
  List <Person> deleteByLastname(String lastname);

  Long deletePersonByLastname(String lastname);         
}

使用返回类型 List 将在实际删除所有匹配的文档之前检索并返回它们。数字返回类型直接删除返回已删除文档总数的匹配文档。