🔥Limited Offer: Get 50% OFFon AI & Full Stack Courses🔥
Back to Node.js Notes
Topic #63

MongoDB Find


Note: In MongoDB we use the find and findOne methods to find data in a collection. Just like the SELECT statement is used to find data in a table in a MySQL database.

Find One

To select data from a collection in MongoDB, we can use the findOne() method.

The findOne() method returns the first occurrence in the selection.

The first parameter of the findOne() method is a query object. In this example we use an empty query object, which selects all documents in a collection (but returns only the first document).

Example

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");
  dbo.collection("customers").findOne({}, function(err, result) {
    if (err) throw err;
    console.log(result.name);
    db.close();

});
});

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

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

Which will give you this result:

Company Inc.

Find All

To select data from a table in MongoDB, we can also use the find() method.

The find() method returns all occurrences in the selection.

The first parameter of the find() method is a query object. In this example we use an empty query object, which selects all documents in the collection.

Note: No parameters in the find() method gives you the same result as SELECT * in MySQL.

Example

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");

dbo.collection("customers").find({}).toArray(function(err, result) {

if (err) throw err;
    console.log(result);

db.close();
  });
});

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

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

Which will give you this result:

[
  { _id:
58fdbf5c0ef8a50b4cdd9a84 , name: 'John', address: 'Highway 71'},
  { _id:
58fdbf5c0ef8a50b4cdd9a85 , name: 'Peter', address: 'Lowstreet 4'},
  {
_id: 58fdbf5c0ef8a50b4cdd9a86 , name: 'Amy',
address: 'Apple st 652'},
  { _id: 58fdbf5c0ef8a50b4cdd9a87 , name: 'Hannah', address:
'Mountain 21'},
  { _id: 58fdbf5c0ef8a50b4cdd9a88 , name: 'Michael', address: 'Valley 345'},

{ _id: 58fdbf5c0ef8a50b4cdd9a89 , name: 'Sandy', address: 'Ocean blvd 2'},
  {
_id: 58fdbf5c0ef8a50b4cdd9a8a ,
name: 'Betty', address: 'Green Grass 1'},
  { _id:
58fdbf5c0ef8a50b4cdd9a8b , name: 'Richard',
address: 'Sky st 331'},
  { _id: 58fdbf5c0ef8a50b4cdd9a8c , name: 'Susan', address: 'One way
98'},
  { _id: 58fdbf5c0ef8a50b4cdd9a8d , name: 'Vicky', address: 'Yellow Garden 2'},

{ _id: 58fdbf5c0ef8a50b4cdd9a8e , name: 'Ben', address: 'Park Lane 38'},
  {
_id: 58fdbf5c0ef8a50b4cdd9a8f , name: 'William',
address: 'Central st 954'},
  { _id: 58fdbf5c0ef8a50b4cdd9a90 , name: 'Chuck', address:
'Main Road 989'},
  { _id: 58fdbf5c0ef8a50b4cdd9a91 , name: 'Viola', address: 'Sideway
1633'}
]

Find Some

The second parameter of the find() method is the projection object that describes which fields to include in the result.

This parameter is optional, and if omitted, all fields will be included in the result.

Example

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");

dbo.collection("customers").find({}, { projection: { _id: 0, name: 1, address:
1 } }).toArray(function(err, result) {

if (err) throw err;
    console.log(result);

db.close();
  });
});

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

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

Which will give you this result:

[
  { name: 'John', address: 'Highway 71'},
  { name: 'Peter', address: 'Lowstreet 4'},
  {
name: 'Amy',
address: 'Apple st 652'},
  { name: 'Hannah', address:
'Mountain 21'},
  { name: 'Michael', address: 'Valley 345'},

{ name: 'Sandy', address: 'Ocean blvd 2'},
  {
name: 'Betty', address: 'Green Grass 1'},
  { name: 'Richard',
address: 'Sky st 331'},
  { name: 'Susan', address: 'One way
98'},
  { name: 'Vicky', address: 'Yellow Garden 2'},

{ name: 'Ben', address: 'Park Lane 38'},
  {
name: 'William',
address: 'Central st 954'},
  { name: 'Chuck', address:
'Main Road 989'},
  { name: 'Viola', address: 'Sideway
1633'}
]

Note: You are not allowed to specify both 0 and 1 values in the same object (except if one of the fields is the _id field). If you specify a field with the value 0, all other fields get the value 1, and vice versa:

Example

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");

dbo.collection("customers").find({}, { projection: { address: 0
} }).toArray(function(err, result) {

if (err) throw err;
    console.log(result);

db.close();
  });
});

Note: To exclude the _id field, you must set its value to 0:

Example

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");

dbo.collection("customers").find({}, { projection: { _id: 0, name: 1
} }).toArray(function(err, result) {

if (err) throw err;
    console.log(result);

db.close();
  });
});

Example

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");

dbo.collection("customers").find({}, { projection: { _id: 0
} }).toArray(function(err, result) {

if (err) throw err;
    console.log(result);

db.close();
  });
});

Example

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");

dbo.collection("customers").find({}, { projection: { name: 1, address: 0
} }).toArray(function(err, result) {

if (err) throw err;
    console.log(result);

db.close();
  });
});

The Result Object

As you can see from the result of the example above, the result can be converted into an array containing each document as an object.

To return e.g. the address of the third document, just refer to the third array object's address property:

Example

console.log(result[2].address);

Which will produce this result:

Apple st 652

Want to go beyond the notes?

Join CodingNow 2.0's Node.js course — live mentorship, real projects, and 100% placement support.

Enroll Now — Free Demo Available

MongoDB Find – FAQs

Quick answers about learning MongoDB Find in Node.js.

This free note from CodingNow 2.0 explains MongoDB Find in Node.js — concept, syntax and worked code examples you can copy, run and revise before interviews.
Yes. Every Node.js topic on CodingNow 2.0, including MongoDB Find, is 100% free with no signup required.
With focused practice, most students grasp MongoDB Find in 1–3 days from these notes; pairing it with CodingNow 2.0's mentor-led course takes you to job-ready depth faster.
Use the code examples in this note, then ask doubts for free on the CodingNow 2.0 Community (/community) — expert instructors answer within 24 hours.
WhatsApp
Call NowEnroll Now