我想找到通过关键字匹配字段nameEnglish
或nameChinese
的模型的列表。我花了一个多小时的谷歌搜索,但我做不到。请帮忙。
Springboot Mongo入门示例https://spring.io/guides/gs/accessing-data-mongodb/
我要执行的自定义查询并返回列表结果
db.mymodel.aggregate([
{
$match: {
$or :[
{ nameChinese: /門/ },
{ nameEnglish: /cocina/i }
]
}
},
{ $sort: {nameEnglish: 1} }
])
到目前为止我最好的试用
interface MyModelRepository : MongoRepository<MyModel, String> {
@Query(value = "{ '\$match': { \$or: [ {'nameEnglish': { \$regex: ?0 } }, {'nameChinese': { \$regex: ?0 } } ] }")
fun findByMyQuery(name: String): List<MyModel>
}
对于正则表达式,我也希望它不区分大小写。
最佳答案
洗完热水后(还有一天谷歌搜索和阅读文档),我找到了答案。希望这对以后的人有所帮助。
@Query(value = "{ \$or: [ {'nameEnglish': { \$regex: ?0, \$options: 'i'}}, {'nameChinese': { \$regex: ?0 }}] }", sort = "{nameEnglish: 1}")
关于java - Springboot:如何通过springboot执行自定义mongodb查询?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58790590/