Urb*_*leg 3 java spring mongodb spring-data spring-data-mongodb
我有以下jpa存储库:
@Query("UPDATE PlayerAccount pa SET pa.password = ?3 WHERE pa.id = ?1 AND pa.password = ?2")
@Modifying
public int updatePasswordWithValidation(Long playerAccountId, String oldPasswordDB, String encodePassword);
Run Code Online (Sandbox Code Playgroud)
现在,我想为mongoDB存储库实现类似的更新查询:
@Query("update( { _id: ObjectId(' $1 ') }, { $set: { messageStatus: $2} })")
Run Code Online (Sandbox Code Playgroud)
但它不起作用.任何有关自定义mongo存储库更新如何显示的参考?
谢谢
MongoDB查询语言是一种仅查询语言.因此,没有更新查询这样的东西.如果需要在MongoDB之上使用Spring Data存储库执行专用更新,则需要一个自定义实现方法.
// Interface for custom functionality
interface SomeCustomRepository {
void updateMethod(…);
}
// Custom implementation
class FooRepositoryImpl implements SomeCustomRepository {
public void updateMethod(…) {
mongoTemplate.update(…);
}
}
// Core repository declaration combining CRUD functionality and custom stuff
interface FooRepository extends CrudRepository<Foo, ObjectId>, SomeCustomRepository {
…
}
Run Code Online (Sandbox Code Playgroud)
参考文档中也描述了这种方法.
| 归档时间: |
|
| 查看次数: |
2580 次 |
| 最近记录: |