Operators comparison logical only and or
🧩 Syntax:
//Operators
app.get("/getAllUsers", async (req, res) => {
//Comparison operator
var userDoc = await UserModel.find({ age: { $eq: 10 } });
var userDoc = await UserModel.find({ age: { $ne: 10 } });
var userDoc = await UserModel.find({ age: { $gt: 10 } });
var userDoc = await UserModel.find({ age: { $gte: 10 } });
var userDoc = await UserModel.find({ age: { $lt: 10 } });
var userDoc = await UserModel.find({ age: { $lte: 10 } });
var userDoc = await UserModel.find({ age: { $in: [10, 7, 20] } });
//Logical Operators
//(age >= 10 && age <= 15) && email = 'praveen@gmail.com'
var userDoc = await UserModel.find({
$and: [
{
age: { $gte: 10 },
},
{
age: { $lte: 15 },
},
],
});
//((age >= 10 && age <= 15) || (age == 0 && email = 'praveen5@gmail.com'))
var userDoc = await UserModel.find({
$or: [
{
$and: [
{
age: { $gte: 10 },
},
{
age: { $lte: 15 },
},
],
},
{
$and: [
{
age: { $eq: 0 },
},
{
email: "praveen5@gmail.com",
},
],
},
],
});
//age >=10
//age <= 10
//the second filter will override the first filter
//of the age if the second filter field name is same as first
var userDoc = await UserModel.find({
age: { $gte: 10 },
age: { $lte: 10 },
});
//age >=10
//age == praveen@gmail.com
var userDoc = await UserModel.find({
age: { $gte: 10 },
email: { $eq: "praveen@gmail.com" },
});
res.json(userDoc);
});