

So it is time to use the distinct function: We could try this query:īut since a country is bound to have multiple customers younger than 30 we would get an unnecessarily long list with repeated countries. Let’s take our customers collection, and let’s imagine we want to find all the countries where we have customers younger than 30. then reduce or filter these documents by logic or condition. How do I return only unique values in a MongoDB query?Īs SQL MongoDB has a distinct feature that allows to ignore duplicated values. Develop Strong Understanding of Administering MongoDB, CRUD Operations, MongoDB Commands. WHERE Country "Germany" AND VIP is NOT True
#Mongodb compass filter or condition how to
Since we have already learned how to use AND and OR operator we can write more complex filters, for example we can query the collection for all the customers that do not come from Germany, and that are not VIP: Or in other words who do I find all the objects in a collection whose property x does not equal a certain value? Well, for that we need to use the $ne -not equal- operator. What about finding all the objects that do not match a property? WHERE VIP is true AND (Country = "Germany" OR Country = "France")Īs we said earlier in this post, here we see an example of the usage of the $and operator, used in combination with the $or operator. Now let’s imagine we want to find all the VIP customers that come from France or from Germany: How do I combine ANDs and ORs in MongoDB querys? WHERE (Country = "Germany" OR Country = "France")

If we want to retrieve all the customer that come from Germany or France we will use this command: How to make a MongoDB query with an OR condition? We will use the $and operator explicitly when we use it more complex queries mixing different conditions – as we will see in the next examples to come. There is an $and operator, but in this simple scenario we can leave it implicit. In MongoDB we filter by mutiple fields by separating the different fields we want to use as a filter by comas.

SELECT * FROM customers WHERE VIP IS true AND Country = "Germany" To retrieve all the customers in our collection that are from Germany, and are VIP we will run this command: How do I filter a MongoDB collection by multiple fields? Now, without further ado let’s dive into how we can extract data from our MongoDB customers collections. Each customer object has the following self-explanatory fields: In our examples we will use a collection that contains a list of customers. If you want to try your hand at MongoDB, but you don’t want to go through the hassle of installing MongoDB in your computer you can use an online MongoDB playground like this one here, or this one.
#Mongodb compass filter or condition install
If you are new to MongoDB, you may want to read first this post about how to install MongoDB and its basic commands. db.collection.When working with MongoDB there are some operations we perform over and over again to retrieve information from the database: let’s see the ways to query the MongoDB collections filtering by different conditions.įor those coming from a traditional SQL background, I will provide also the SQL equivalent of the MongoDB statements. This example shows this method in find(). Note: We want to get to milliseconds when dealing with timestamps. To calculate the past 7-days we need to multiply: 7 days * 24 hours per day * 60 minutes per hour * 60 seconds per minute * 1000 milliseconds per second.

Situation: You want to query a collection to get documents that were generated in the past 7 days.
