在Sequelize中 - ORM Node JS
在使用enum
运算符搜索特定元素时使用integer
和like
字段时出现以下错误:
No operator matches the given name and argument type(s). You might need to add explicit type casts.
我如何为integer
和enum
字段输入广告?
我在哪里查询job.status
中的条件是enum
字段
whereCondn = {
$or:[
{
'$job.jobReferenceId$': {
$iLike: (search ? search: '')
}
},
{
'$job.jobTitle$': {
$iLike: '%'+(search ? search: '')+'%'
}
},
{
'$job.experienceLevel$': {
$iLike: '%'+(search ? search: '')+'%'
}
},
{
'$job.location$': {
$iLike: '%'+(search ? search: '')+'%'
}
},
{
'$job.status$': {
$like: '%'+(search ? search: '')+'%'
}
},
{
'$job->hospital.name$':{
$iLike: '%'+(search ? search: '')+'%'
}
},
{
'$job->grade.gradeName$':{
$iLike: '%'+(search ? search: '')+'%'
}
},
{
'$job->speciality.specialityName$':{
$iLike: '%'+(search ? search: '')+'%'
}
},
{
'$job->specialityService.serviceName$':{
$iLike: '%'+(search ? search: '')+'%'
}
}
],
$and :[
{
'$job.draft$' : false
},
{
'doctorId' : bodyInput['doctorId']
}
]
};
}
答案 0 :(得分:0)
对于像我一样访问此页面的其他人:
你可以这样使用 Sequelize.literal -
...
where: Sequelize.literal(`"job"."status"::TEXT LIKE '%${searchKeyword}%'`)),
...