西安 网站建设 培训学校,做的好的有哪些网站,有关网站建设的说说,现场直播cctv5直播吧【Spring连载】使用Spring Data访问 MongoDB#xff08;十五#xff09;----MongoDB特有的数据操作方法 一、更新方法二、删除方法 除了
查询方法之外#xff0c;还可以使用专门的方法更新数据。 一、更新方法
你还可以使用上表中的关键字创建查询#xff0c;以标识匹配的… 【Spring连载】使用Spring Data访问 MongoDB十五----MongoDB特有的数据操作方法 一、更新方法二、删除方法 除了
查询方法之外还可以使用专门的方法更新数据。 一、更新方法
你还可以使用上表中的关键字创建查询以标识匹配的文档以便对其运行更新。实际的更新操作是由方法本身的Update注解定义的如下所示。请注意派生查询的命名模式以find开头。正在使用update如updateAllByLastname(…)) 仅允许与Query组合使用。 更新将应用于所有匹配的文档并且无法通过传递Page或使用任何limit关键字来限制范围。返回类型可以是void也可以是数字类型例如long以容纳修改后的documents数。 例1更新方法
public interface PersonRepository extends CrudRepositoryPerson, String {Update({ $inc : { visits : 1 } })long findAndIncrementVisitsByLastname(String lastname); --------1Update({ $inc : { visits : ?1 } })void findAndIncrementVisitsByLastname(String lastname, int increment); --------2Update({ $inc : { visits : ?#{[1]} } })long findAndIncrementVisitsUsingSpELByLastname(String lastname, int increment); --------3Update(pipeline {{ $set : { visits : { $add : [ $visits, ?1 ] } } }})void findAndIncrementVisitsViaPipelineByLastname(String lastname, int increment); --------4Update({ $push : { shippingAddresses : ?1 } })long findAndPushShippingAddressByEmail(String email, Address address); --------5Query({ lastname : ?0 })Update({ $inc : { visits : ?1 } })void updateAllByLastname(String lastname, int increment); --------6
}1. 更新的筛选器查询是从方法名称派生的。更新是“按原样”进行的不绑定任何参数。
2. 实际的增量值由绑定到?1占位符的increment方法参数定义。
3. 使用Spring表达式语言SpEL进行参数绑定。
4. 使用管道pipeline属性可以发布聚合管道更新。
5. 更新可能包含复杂的对象。
6. 将基于字符串的查询与更新相结合。存储库更新不会发出持久化事件或映射生命周期事件。
二、删除方法
上表中的关键字可以与delete…By或remove…By结合使用以创建删除匹配documents的查询。 Delete…By查询
public interface PersonRepository extends MongoRepositoryPerson, String {List Person deleteByLastname(String lastname); --------1 Long deletePersonByLastname(String lastname); --------2 NullablePerson deleteSingleByLastname(String lastname); --------3 OptionalPerson deleteByBirthdate(Date birthdate); --------4
}1. 在实际删除所有匹配的文档之前使用返回类型List检索并返回这些documents。
2. 数字返回类型直接删除匹配的documents返回删除的documents总数。
3. 单个域类型的结果检索并删除第一个匹配的document。
4. 与3中相同但包装在可选类型中。