bugl
bugl
HomeLearnPatternsPathsSearch
HomeLearnPatternsPathsSearch

Loading lesson path

Learn/Node.js/Database Integration
Node.js•Database Integration

Node.js MongoDB Query

Flash cards

Review the key moves

1/4
Core idea

What is the main idea behind Node.js MongoDB Query?

Lesson checks

Practice each idea before moving on

Short Mimo-style checks built from this lesson's code, terms, and sequence.

1Quick choice

Which statement best captures the main point of this lesson?

2Fill blank

Complete the missing token from the example code.

___ MongoClient = require('mongodb').MongoClient;
3Order

Put the learning moves in the order that makes the concept easiest to apply.

The first argument of the find() method is a query object, and is used to limit the search.
When finding documents in a collection, you can filter the result by using a query object.
Filter With Regular Expressions

Filter the Result

When finding documents in a collection, you can filter the result by using a query object.

The first argument of the find() method is a query object, and is used to limit the search.

Example

Find documents with the address "Park Lane 38":

let MongoClient = require('mongodb').MongoClient;
let url = "mongodb://localhost:27017/";
MongoClient.connect(url, function(err, db) {
 if (err) throw err;
 let dbo = db.db("mydb");
 let query = { address: "Park Lane 38" };
 dbo.collection("customers").find( query ).toArray(function(err, result) {
 if (err) throw err;
 console.log(result);
 db.close();
 });
});

Save the code above in a file called "demo_mongodb_query.js" and run the file:

Run "demo_mongodb_query.js"

C:\Users\
Your Name
>node demo_mongodb_query.js

Which will give you this result

[ { _id: 58fdbf5c0ef8a50b4cdd9a8e , name: 'Ben', address: 'Park Lane 38' }
]

Filter With Regular Expressions

You can write regular expressions to find exactly what you are searching for.

Regular expressions can only be used to query strings .

To find only the documents where the "address" field starts with the letter "S", use the regular expression /^S/ :

Example

Find documents where the address starts with the letter "S":

let MongoClient = require('mongodb').MongoClient;
let url = "mongodb://localhost:27017/";
MongoClient.connect(url, function(err, db) {
 if (err) throw err;
 let dbo = db.db("mydb");
 let query = { address: /^S/ };
 dbo.collection("customers").find(query).toArray(function(err, result) {
 if (err) throw err;
 console.log(result);
 db.close();
 });
});

Save the code above in a file called "demo_mongodb_query_s.js" and run the file:

Run "demo_mongodb_query_s.js"

C:\Users\
Your Name
>node demo_mongodb_query_s.js

Which will give you this result

[ { _id: 58fdbf5c0ef8a50b4cdd9a8b , name: 'Richard', address: 'Sky st 331' }, { _id: 58fdbf5c0ef8a50b4cdd9a91 , name: 'Viola', address: 'Sideway 1633' }
]

Previous

Node.js MongoDB Find

Next

Node.js MongoDB Sort