

If you want to use the x and s options, you must use the $regex operator expression in conjunction with $options.If you want to include a regular expression within a comma-separated list of query conditions, use the $regex operator.You are not permitted to use the $regex operator within the $in operator.Step 1: Create a database “regx” and collection “employee” using MongoDB compass.Let’s see how we can add these documents in our database.įor this tutorial, you need to have MongoDB and MongoDB Compass installed on your system. The following example demonstrates how this can be accomplished. It is useful when we do not know the exact field value for which we are searching in the document.Īssume we have the Employee collection with the Field names "employeeid" and "employeename". Assume we also have the following documents in our collection.

In MongoDB, the regex operator is used to search for specific strings in a collection. Using $regex operator for Pattern matching Pattern matching without the $regex operator.Using $regex operator for Pattern matching.We can do pattern matching in MongoDB in two ways:
#Mongodb compass filter full
For more information, check out Full Stack Developer jobs. MongoDB supports UTF-8 and Perl compatible regular expressions (PCRE) version 8.42. This is where regular expressions can help in the retrieval of data based on pattern matching search values.Ī regular expression is a generalised method for matching patterns with character sequences. Let´s take the previous example about listing customers that came from Germany OR France, and let´s modify it to list all the customers whose country belongst to a given list:ĭb.customers.When retrieving documents from a collection, you may not always know what Field value to look for. 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. How do I return only unique values in a MongoDB query?Īs SQL MongoDB has a distinct feature that allows to ignore duplicated values. WHERE Country "Germany" AND VIP is NOT True
#Mongodb compass filter 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 install
If you are new to MongoDB, you may want to read first this post about how to install MongoDB and its basic commands. 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.
