Query Your Data
On this page
You can type MongoDB filter documents into the query bar to display only documents which match the specified criteria. To learn more about querying documents, see Query Documents in the MongoDB manual.
Compatibility
You can query your data for deployments hosted in the following environments:
MongoDB Atlas: The fully managed service for MongoDB deployments in the cloud
MongoDB Enterprise: The subscription-based, self-managed version of MongoDB
MongoDB Community: The source available, free-to-use, and self-managed version of MongoDB
To learn more about querying your data for deployments hosted in MongoDB Atlas, see Find Specific Documents.
Set Query Filter
In the Filter field, enter a filter document. You can use all of the MongoDB query operators except the
$text
and$expr
operators.Example
The following filter only returns documents which have a
title
value ofJurassic Park
:{ "title": "Jurassic Park" } Click Find to run the query and view the updated results.
click to enlarge
Note
For query result sets larger than 1000 documents, Compass shows a sampling of the results. Otherwise, Compass shows the entire result set.
For details on sampling, see Sampling.
Supported Data Types in the Query Bar
The Compass Filter supports using the
mongo
shell mode representation of the MongoDB
Extended JSON BSON data types.
Example
The following filter returns documents where
start_date
is greater than than the BSON Date
2017-05-01
:
{ "start_date": {$gt: new Date('2017-05-01')} }
By specifying the Date
type in both start_date
and the
$gt
comparison operator, Compass performs the greater
than
comparison chronologically, returning documents with
start_date
later than 2017-05-01
.
Without the Date
type specification, Compass compares the
start_dates
as strings
lexicographically,
instead of comparing the values chronologically.
Clear the Query
To clear the query bar and the results of the query, click Reset.
How Does the Compass Query Compare to MongoDB and SQL Queries?
$filter
corresponds to the WHERE
clause in a
SQL SELECT
statement.
Example
You have 3,235 articles. You would like to see all articles that Joe Bloggs wrote.
- Compass Filter Option
{ author : { $eq : "Joe Bloggs" } } - MongoDB Aggregation
db.article.aggregate( { $filter : { author : { $eq : "Joe Bloggs" } } } ); - SQL
SELECT * FROM article WHERE author = "Joe Bloggs";
Examples
Example
The following examples use the JSON documents below as sample data. To import this sample data to your MongoDB deployment with MongoDB Compass:
Copy the array of documents below by clicking Copy.
[ { "name":"Andrea Le", "email":"andrea_le@fakegmail.com", "version":5, "scores":[85, 95, 75], "dateCreated":{"$date":"2003-03-26"} }, { "email":"no_name@fakegmail.com", "version":4, "scores":[90, 90, 70], "dateCreated":{"$date":"2001-04-15"} }, { "name":"Greg Powell", "email":"greg_powell@fakegmail.com", "version":1, "scores":[65, 75, 80], "dateCreated":{"$date":"1999-02-10"} } ]
In Compass, use the left navigation panel to select the database and the collection you want to import the data to.
Click the Documents tab.
Click Add Data and select Insert Document.
Ensure that View is set to JSON, or
{}
, and paste the copied JSON documents in the field.Click Insert.
Note
If you do not have a MonogDB deployment or if you would like to query a large sample data set, see Sample Data for Atlas Clusters for instructions on creating a free-tier cluster with sample data. Note that the examples below are intended to filter the sample JSON documents provided on this page and may not properly filter another sample data set.
For more query examples, see Query Documents in the MongoDB manual.