这个东西我搞了好久,总之就是and和or的一些个瞎搭配运用,然后最后试成功了。总之以下代码可以实现这四个框随便搭配查询。
const _ = db.command
db.collection('curriculum').where(
_.or([
{
// 排课周次
class_personal:db.RegExp({
//正则
regexp:'.*' + options.class_personal+ '.*', //key为用户输入的内容,
options:"i" //忽略大小写
}),
// 学院
school:db.RegExp({
//正则
regexp:'.*' + options.school+ '.*', //key为用户输入的内容,
options:"i" //忽略大小写
}),
// detail2中的节次
detail2:db.RegExp({
//正则
regexp:'.*' + options.part+ '.*', //key为用户输入的内容,
options:"i" //忽略大小写
}),
// detail中的周次
detail:db.RegExp({
//正则
regexp:'.*' + options.week + '.*', //key为用户输入的内容,
options:"i" //忽略大小写
})
},
]),
)
over