Spring boot 我想将本机mongo查询转换为spring boot mongo存储库查询
这是我的资产类别,公司是其中的用户现在我想按资产名称或描述执行搜索,然后在AssetPository中编写一个查询,如下所示Spring boot 我想将本机mongo查询转换为spring boot mongo存储库查询,spring-boot,groovy,spring-data-mongodb,Spring Boot,Groovy,Spring Data Mongodb,这是我的资产类别,公司是其中的用户现在我想按资产名称或描述执行搜索,然后在AssetPository中编写一个查询,如下所示 Asset { ObjectState objectState = ObjectState.CURRENT String description @NotEmpty(message = "*Please provide a asset name") @Length(min = 2, max = 50, message =
Asset {
ObjectState objectState = ObjectState.CURRENT
String description
@NotEmpty(message = "*Please provide a asset name")
@Length(min = 2, max = 50, message = "*Asset name must have characters between 2 and 50")
String assetName
@DBRef
Company company
}
Page<Asset> fetchAssetBySearchStringAndCompanyAndObjectState(Company company, Pageable pageable, String searchQuery) {
ObjectState objectState = ObjectState.CURRENT
if (!pageable) {
pageable = PageRequest.of(0, 10, Sort.Direction.DESC, "lastUpdated")
}
if (searchQuery) {
return assetRepository.findAllByCompanyInAndAssetNameIgnoreCaseContainingOrDescriptionIgnoreCaseContainingAndObjectState(company, searchQuery, searchQuery, pageable, objectState)
} else {
return assetRepository.findAllByCompanyAndObjectState(company, objectState, pageable)
}
}
Page<Asset> fetchAssetBySearchStringAndCompanyAndObjectState(Company company, Pageable pageable, String searchQuery) {
ObjectState objectState = ObjectState.CURRENT
if (!pageable) {
pageable = PageRequest.of(0, 10, Sort.Direction.DESC, "lastUpdated")
}
if (searchQuery) {
return assetRepository.findAllByCompanyInAndAssetNameIgnoreCaseContainingOrDescriptionIgnoreCaseContainingAndObjectState(company, searchQuery, searchQuery, pageable, objectState)
} else {
return assetRepository.findAllByCompanyAndObjectState(company, objectState, pageable)
}
}
db.assets.find({
"company" : {
"$ref" : "users",
"$id" : ObjectId("60709ab978f45041425be752")
},
"objectState":"CURRENT",
$or : [
{"assetName": { $regex:"test girl", $options:'i' }},
{"description": { $regex:"test girl", $options:'i' }}
],
})