For AI agents: a documentation index is available at https://www.mongodb.com/docs/llms.txt — markdown versions of all pages are available by appending .md to any URL path.
Docs Menu

Run Queries for the Explore with Sample Data Wizard

Estimated completion time: 5 minutes

You can run operations using the MongoDB Query Language (MQL) which includes most, but not all standard server commands. To learn which MQL operations are supported, see the MQL Support documentation.

Note

The Atlas Data Federation sample datasets are read-only.

To complete this part of the tutorial, you must have completed:

You must be connected to your federated database instance with the MongoDB Shell before running the following queries.

The following example queries apply to a federated database instance that you deployed with the Explore with Sample Data wizard.

Click and run the queries in the appropriate tabs for the sample datasets included in your federated database instance.

Before running the queries, switch to the airbnb database:

use airbnb

Find the number of AirBnB offerings with 3 bedrooms and a high review score:

1db.listingsAndReviews.aggregate([{$match: {"bedrooms" : 3, "review_scores.review_scores_rating": {$gt: 79}} }, {$count: "numProperties"}])
1{
2 "numProperties" : 295
3}

Find properties with 3 bedrooms and include only the name and bedrooms fields in the results. Sort the returned documents by customer review rating. Limit the number of documents returned to 5:

1db.listingsAndReviews.find({"bedrooms": 3}, {"name": 1, "bedrooms": 1}).sort({review_scores_rating: -1}).limit(5)
1[
2 {
3 _id: '20045679',
4 name: 'House Near Espinho/Santa Maria Feira',
5 bedrooms: Long("3")
6 },
7 {
8 _id: '19760228',
9 name: 'Apartment Salva - 3 bedroom in Poble Sec',
10 bedrooms: Long("3")
11 },
12 {
13 _id: '19768051',
14 name: 'Ultra Modern Pool House Maroubra',
15 bedrooms: Long("3")
16 },
17 {
18 _id: '19877706',
19 name: 'Big 3 Bedroom Garden Level Apartment Near Subway',
20 bedrooms: Long("3")
21 },
22 {
23 _id: '6291063',
24 name: 'Beautiful Tropical Oasis near beach in Kailua',
25 bedrooms: Long("3")
26 }
27]

Before running the queries, switch to the analytics database:

use analytics

Find users who have purchased Commodity with a limit of 10000. Limit the number of documents returned to 3:

1db.accounts.find({"limit": {$eq: 10000}, "products": "Commodity"}).limit(3)
1{
2 "_id" : ObjectId("5ca4bbc7a2dd94ee5816238d"),
3 "account_id" : 557378,
4 "limit" : 10000,
5 "products" : [
6 "InvestmentStock",
7 "Commodity",
8 "Brokerage",
9 "CurrencyService"
10 ]
11}
12{
13 "_id" : ObjectId("5ca4bbc7a2dd94ee58162390"),
14 "account_id" : 278603,
15 "limit" : 10000,
16 "products" : [
17 "Commodity",
18 "InvestmentStock"
19 ]
20}
21{
22 "_id" : ObjectId("5ca4bbc7a2dd94ee5816239b"),
23 "account_id" : 870466,
24 "limit" : 10000,
25 "products" : [
26 "Derivatives",
27 "Brokerage",
28 "Commodity",
29 "InvestmentStock"
30 ]
31}

Find customers whose birthdate is before 1990-01-01 and limit the number of documents returned to 5:

1db.customers.find({"birthdate": {$lt: ISODate("1990-01-01T22:15:34.000+00:00")}}, {"name": 1, "birthdate": 1, "email": 1}).limit(5)
1{
2 "_id" : ObjectId("5ca4bbcea2dd94ee58162a6a"),
3 "name" : "Katherine David",
4 "birthdate" : ISODate("1988-06-20T22:15:34Z"),
5 "email" : "timothy78@hotmail.com"
6}
7{
8 "_id" : ObjectId("5ca4bbcea2dd94ee58162a6c"),
9 "name" : "Brad Cardenas",
10 "birthdate" : ISODate("1977-05-06T21:57:35Z"),
11 "email" : "dustin37@yahoo.com"
12}
13{
14 "_id" : ObjectId("5ca4bbcea2dd94ee58162a74"),
15 "name" : "Dr. Angela Brown",
16 "birthdate" : ISODate("1977-06-19T20:35:52Z"),
17 "email" : "michaelespinoza@gmail.com"
18}
19{
20 "_id" : ObjectId("5ca4bbcea2dd94ee58162a76"),
21 "name" : "Lauren Clark",
22 "birthdate" : ISODate("1980-10-28T16:25:59Z"),
23 "email" : "briannafrost@yahoo.com"
24}
25{
26 "_id" : ObjectId("5ca4bbcea2dd94ee58162a77"),
27 "name" : "Jacqueline Haynes",
28 "birthdate" : ISODate("1982-09-01T07:12:57Z"),
29 "email" : "virginia36@hotmail.com"
30}

Find transaction details for user whose account ID is 557378 and use the $sort stage to sort on the transactions.symbol field:

1db.accounts.aggregate([ { $match: {"account_id": 557378}},{$sort: {"transactions.symbol": -1}} ])
1{
2 "_id" : ObjectId("5ca4bbc7a2dd94ee5816238d"),
3 "account_id" : 557378,
4 "limit" : 10000,
5 "products" : [ "InvestmentStock", "Commodity", "Brokerage", "CurrencyService" ]
6}

Before running the queries, switch to the mflix database:

use mflix

Find all movies between the years 2010 and 2015 and include only the _id, title, and year fields in the results. Limit the number of documents returned to 5.

1db.movies.find({"type": "movie", "year": {$gt: 2010, $lt: 2015} }, {"title": 1, "year": 1 }).limit(5)
1{
2 "_id" : ObjectId("573a13b8f29313caabd4c8c5"),
3 "year" : 2011,
4 "title" : "Thor"
5}
6{
7 "_id" : ObjectId("573a13b0f29313caabd34a3e"),
8 "year" : 2011,
9 "title" : "Cowboys & Aliens"
10}
11{
12 "_id" : ObjectId("573a13b8f29313caabd4ca3f"),
13 "title" : "Red Dog",
14 "year" : 2011
15}
16{
17 "_id" : ObjectId("573a13b8f29313caabd4d58c"),
18 "title" : "Jack and Jill",
19 "year" : 2011
20}
21{
22 "_id" : ObjectId("573a13b8f29313caabd4d5b5"),
23 "year" : 2011,
24 "title" : "Take Me Home Tonight"
25}

Find the sessions details for a user specified by ID.

1db.sessions.find({"user_id": "t3qulfeem@kwiv5.6ur"})
1{
2 "_id" : ObjectId("5a97f9c91c807bb9c6eb5fb4"),
3 "user_id" : "t3qulfeem@kwiv5.6ur",
4 "jwt" : "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NieyJpYXQiOjE1MTk5MDkzMjEsIm5iZiI6MTUxOTkwOTMyMSwianRpIjoiNmJlZDAwMWYtNTFiYi00NzVhLTgAtMDcwNGE5Mjk0MWZlIiwiZXhwIjoxNTE5OTEwMjIxLCJpZGVudGl0eSI6eyJlbWFpbCI6InQzcXVsZmVlbd2l2NS42dXIiLCJuYW1lIjoiM2lveHJtZnF4IiwicGFzc3dvcmQiOm51bGx9LCJmcmVzaCI6ZmFsc2UsInRUiOiJhY2Nlc3MiLCJ1c2VyX2NsYWltcyI6eyJ1c2VyIjp7ImVtYWlsIjoidDNxdWxmZWVtQGt3aXY1LjZ1cIm5hbWUiOiIzaW94cm1mcXgiLCJwYXNzd29yZCI6bnVsbH19ejtr_NyZyBronWMKuE0RFTjWej--T0zGrdc_iymGtVs"
5}

Find the theater specified by its id and zipcode.

1db.theaters.findOne({$and: [{"_id": ObjectId("59a47286cfa9a3a73e51e763")}, {"location.address.zipcode": "93933"}]})
1{
2 "_id" : ObjectId("59a47286cfa9a3a73e51e763"),
3 "theaterId" : 1061,
4 "location" : {
5 "address" : {
6 "street1" : "101 General Stillwell Dr",
7 "city" : "Marina",
8 "state" : "CA",
9 "zipcode" : "93933"
10 },
11 "geo" : {
12 "type" : "Point",
13 "coordinates" : [
14 -121.81196,
15 36.66708
16 ]
17 }
18 }
19}

Find all users whose last name is Lannister and limit the number of documents returned to 5.

1db.users.find({ name: /Lannister/ }).limit(5)
1{
2 "_id" : ObjectId("59b99db5cfa9a34dcd7885b8"),
3 "name" : "Jaime Lannister",
4 "email" : "nikolaj_coster-waldau@gameofthron.es",
5 "password" : "$2b$12$6vz7wiwO.EI5Rilvq1zUc./9480gb1uPtXcahDxIadgyC3PS8XCUK"
6}
7{
8 "_id" : ObjectId("59b99db6cfa9a34dcd7885ba"),
9 "name" : "Cersei Lannister",
10 "email" : "lena_headey@gameofthron.es",
11 "password" : "$2b$12$FExjgr7CLhNCa.oUsB9seub8mqcHzkJCFZ8heMc8CeIKOZfeTKP8m"
12}
13{
14 "_id" : ObjectId("59b99dbdcfa9a34dcd7885c7"),
15 "name" : "Tyrion Lannister",
16 "email" : "peter_dinklage@gameofthron.es",
17 "password" : "$2b$12$xtHwQNXYlQzP2REobUDlzuQimjzBlXrTx1GnwP.xkfULeuuUpRxa2"
18}
19{
20 "_id" : ObjectId("59b99dc2cfa9a34dcd7885d2"),
21 "name" : "Tywin Lannister",
22 "email" : "charles_dance@gameofthron.es",
23 "password" : "$2b$12$/i04T5yEJvmsBhF0Jd.kJOk3ZhRzezbTU7ASEM5o43Xxsa4o6IgEy"
24}
25{
26 "_id" : ObjectId("59b99dcecfa9a34dcd7885ea"),
27 "name" : "Lancel Lannister",
28 "email" : "eugene_simon@gameofthron.es",
29 "password" : "$2b$12$mNWiHoOqOWQser3s6ezqZeTU5vhskTq.K7xkeTA2P.CIfoWsHvonO"
30}

Before running the queries, switch to the training database:

use training

Find all trips further than 5 that cost 50 or less.

1db.trips.find({"fare_amount": { "$lte" : "50" }, "trip_distance": {"$gte": "5" }}).count()
196215

Find how many trips included four or more passengers.

1db.trips.find({"passenger_count": { "$gte" : 4 }}).count()
192846

Congratulations! You just set up a federated database instance, created a database and collections from data stored in an S3 bucket, and queried the data using MQL commands.

For more information on federated database instances, see Atlas Data Federation.

Note

When you dynamically generate collections from filenames, the number of collections is not accurately reported in the Data Federation view.