Home »
MongoDB
Using $or with find in MongoDB
In this article, we are going to learn about the $or method and process to use it.
Submitted by Manu Jemini, on March 10, 2018
Here, $or in MongoDB means equal to this or that, to find a document in MongoDB through an Express server we need to full fill certain requirements:
Read more in previous article: How to use $gt in MongoDB?
In the example below, we have to search for the matching company name and quantity in this collection by using the function find;
collection.find({ $or: [{company_name:"honda"}, {qty:{ $eq: 10}}] })
.toArray(function(err,res){ })
Now this function will search every document with the matching field of company name as honda or quantity 10.
Just like before we have to check for the error, if any. So to check if there is any error we use simple if-else statements.
The Object error will be passed by mongo itself and it will be false or null if there is no error, otherwise we will get an error object.
If we found an error we will console.log it, otherwise we will log the result of the query.
To make an optimum server to work smooth we should always close the connection after our use of it. There the last thing we do is close the db.
db.close();
JS file:
// require mongodb
var mongodb = require('mongodb');
var MongoClient = mongodb.MongoClient;
//create url
var url = "mongodb://localhost:27017/vehicle";
//connect with mongo client
MongoClient.connect(url, function(err,db){
if(err)
{
console.log(err);
}
else
{
//console.log tthe connected url
console.log('Connected to ',url);
//get refernce of using collection
var collection = db.collection('cars');
// to find the documents
collection.find({ $or: [{company_name:"honda"}, {qty:{ $eq: 10}}] }).toArray(function(err,res){
if(err)
{
console.log(err);
}
else if(res.length)
{
console.log(res);
}
else
{
console.log('No cars found');
}
db.close();
})
}
});
Output in console:
<
Output in shell: