MongoDB’s document is like a table’s row in RDBMS. to get the documents from the collection through find() or findOne() method.
Suppose, You have users collections that have 4 documents.
[
{
"_id" : ObjectId("5fdc8b842649b8748d4ec107"),
"name" : "John",
"age" : 35
},
{
"_id" : ObjectId("5fdcdb87b6dad382104b0f86"),
"name" : "Rom",
"age" : 31
},
{
"_id" : ObjectId("5fdcdb87b6dad382104b0f87"),
"name" : "Mathew",
"age" : 32
},
{
"_id" : ObjectId("5fdcdb87b6dad382104b0f88"),
"name" : "Sachin",
"age" : 38
}
]
get all the documents through find() method
Firstly create the get_document.js file.
var MongoClient = require('mongodb').MongoClient;
let url="mongodb://localhost:27017/";
var options = {
useNewUrlParser: true,
useUnifiedTopology: true,
}
MongoClient.connect(url,options, function (err, connection_obj) {
try{
if (err) throw err;
var dbo = connection_obj.db("users_management");
dbo.collection("users").find({}).toArray(function(err, res){
if (err) throw err;
console.log("documents show successfully");
console.log("result:",res);
connection_obj.close();
});
}catch(err){
console.log("connection fails");
}
Now, run the get_document.js file.
node get_document.js
Output:-
documents show successfully
result: [ { _id: 5fddc8f7329e1da50a4ec725, name: ‘John’, age: 35 },
{ _id: 5fddc8f7329e1da50a4ec726, name: ‘Rom’, age: 31 },
{ _id: 5fddc8f7329e1da50a4ec727, name: ‘Mathew’, age: 32 },
{ _id: 5fddc8f7329e1da50a4ec728, name: ‘Sachin’, age: 38 } ]
result: [ { _id: 5fddc8f7329e1da50a4ec725, name: ‘John’, age: 35 },
{ _id: 5fddc8f7329e1da50a4ec726, name: ‘Rom’, age: 31 },
{ _id: 5fddc8f7329e1da50a4ec727, name: ‘Mathew’, age: 32 },
{ _id: 5fddc8f7329e1da50a4ec728, name: ‘Sachin’, age: 38 } ]
Get the specific key value through projection
If you need a specific key-value then use {keyname:1} through projection
var MongoClient = require('mongodb').MongoClient;
let url="mongodb://localhost:27017/";
var options = {
useNewUrlParser: true,
useUnifiedTopology: true,
}
MongoClient.connect(url,options, function (err, connection_obj) {
try{
if (err) throw err;
var dbo = connection_obj.db("users_management");
dbo.collection("users").find({},{projection:{name:1}}).toArray(function(err, res) {
if (err) throw err;
console.log("documents show successfully");
console.log("result:",res);
connection_obj.close();
});
}catch(err){
console.log("connection fails");
}
Now, run the get_document.js file.
node get_document.js
Output:-
documents show successfully
result: [ { _id: 5fddc8f7329e1da50a4ec725, name: ‘John’ },
{ _id: 5fddc8f7329e1da50a4ec726, name: ‘Rom’ },
{ _id: 5fddc8f7329e1da50a4ec727, name: ‘Mathew’ },
{ _id: 5fddc8f7329e1da50a4ec728, name: ‘Sachin’ } ]
result: [ { _id: 5fddc8f7329e1da50a4ec725, name: ‘John’ },
{ _id: 5fddc8f7329e1da50a4ec726, name: ‘Rom’ },
{ _id: 5fddc8f7329e1da50a4ec727, name: ‘Mathew’ },
{ _id: 5fddc8f7329e1da50a4ec728, name: ‘Sachin’ } ]
if you do not want _id value in the getting results
If you do not need a specific key-value then use {keyname:0} through projection
var MongoClient = require('mongodb').MongoClient;
let url="mongodb://localhost:27017/";
var options = {
useNewUrlParser: true,
useUnifiedTopology: true,
}
MongoClient.connect(url,options, function (err, connection_obj) {
try{
if (err) throw err;
var dbo = connection_obj.db("users_management");
dbo.collection("users").find({},{projection:{name:1,_id:0}}).toArray(function(err, res) {
if (err) throw err;
console.log("documents show successfully");
console.log("result:",res);
connection_obj.close();
});
}catch(err){
console.log("connection fails");
}
Now, run the get_document.js file.
node get_document.js
Output:-
documents show successfully
result: [ { name: ‘John’ },
{ name: ‘Rom’ },
{ name: ‘Mathew’ },
{ name: ‘Sachin’ } ]
result: [ { name: ‘John’ },
{ name: ‘Rom’ },
{ name: ‘Mathew’ },
{ name: ‘Sachin’ } ]
get one document through findOne() method
Firstly create the get_document.js file.
var MongoClient = require('mongodb').MongoClient;
let url="mongodb://localhost:27017/";
var options = {
useNewUrlParser: true,
useUnifiedTopology: true,
}
MongoClient.connect(url,options, function (err, connection_obj) {
try{
if (err) throw err;
var dbo = connection_obj.db("users_management");
dbo.collection("users").findOne({}, function(err, res) {
if (err) throw err;
console.log("1 document show successfully");
console.log("result:",res);
connection_obj.close();
});
}catch(err){
console.log("connection fails");
}
Now, run the get_document.js file.
node get_document.js
Output:-
1 document show successfully
result: { _id: 5fddc8f7329e1da50a4ec725, name: ‘John’, age: 35 }
result: { _id: 5fddc8f7329e1da50a4ec725, name: ‘John’, age: 35 }
Note:- where_condition is used in the first parameter of the find() or findOne() method.
projection is used in the second parameter of the find() or findOne() method.