脚本:
const query = req.body.data;
if(query!==''){
await User.find(
{ $or:[
{username: { "$regex": query, "$options": 'i' }},
{name: { "$regex": query, "$options": 'i' }},
{collegeName: { "$regex": query, "$options": 'i' }},
{collegeEmail: { "$regex": query, "$options": 'i' }}
], active: true},
function(err,docs) {
if(err){
console.log(err);
}else{
res.send(docs);
}
}
);
}
我发现 “((uername:query || name:query || collegeName:query || collegeEmail:query)&&(active:true))“这个查询。但是我在上面的代码上写不起作用。有人可以帮助我吗?
我得到我的问题的答案,很容易对不起...
const query = req.body.data;
if(query!==''){
await User.find({
$and:[{active: true},
{ $or:[
{username: { "$regex": query, "$options": 'i' }},
{name: { "$regex": query, "$options": 'i' }},
{collegeName: { "$regex": query, "$options": 'i' }},
{collegeEmail: { "$regex": query, "$options": 'i' }}
]}]
},
function(err,docs) {
if(err){
console.log(err);
}else{
res.send(docs);
}
}
);
}