如何使用 $and 和 $or 条件在猫鼬中查找查询?
How to find query in mongoose with $and and $or condition?
脚本:
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);
}
}
);
}
脚本:
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);
}
}
);
}