Connect to NoSQL Database
using Node JS
What Is a Database
•A database is an organized collection of structured
information, or data, typically stored electronically in
a computer system
Types of databases
• Centralised database.
• Distributed database.
• Personal database.
• End-user database.
• Commercial database.
• NoSQL database.
• Operational database.
• Relational database.
• Cloud database.
• Object-oriented database.
• Graph database.
1. Centralised Database
• The information(data) is stored at a centralized location and
the users from different locations can access this data.
• This type of database contains application procedures that
help the users to access the data even from a remote
location.
Distributed Database
•Just opposite of the centralized database concept,
•The data is not at one place and is distributed at various
sites of an organization. These sites are connected to
each other with the help of communication links which
helps them to access the distributed data easily.
Introduction to NoSQL
•NoSQL is a type of database management
system (DBMS) that is designed to handle and
store large volumes of unstructured and semi-
structured data.
•NoSQL originally referred to “non-SQL” or “non-
relational” databases
NoSQL Database
•It is used for large sets of distributed data.
•There are some big data performance issues which are
effectively handled by relational databases, such kind of
issues are easily managed by NoSQL databases.
•There are very efficient in analyzing large size unstructured
data that may be stored at multiple virtual servers of the
cloud.
Cloud and Database
• A cloud is a network of remote servers that are connected to the
internet, and are used to store, manage and process data.
• Cloud services can be divided into three categories:
• Infrastructure as a Service (IaaS),
• Platform as a Service (PaaS) and
• Software as a Service (SaaS). T
• he main benefit of cloud computing is its scalability, as well as its
ability to provide on-demand access to computing resources and
services.
Cloud and Database
• A database is a collection of data that is organized in a specific way
and can be accessed, managed and updated by a software
application.
• Databases are used to store and retrieve data in an efficient and
organized manner.
• There are different types of databases, such as
• relational databases (MySQL, Oracle, MS SQL), NoSQL databases
(MongoDB, Cassandra, Redis) and graph databases (Neo4j).
Cloud and Database
•cloud is a type of technology that provides access to
remote servers and computing resources
•database is a collection of data that is organized and
managed by a specific software.
•While they are different, they can be used together,
such as running a database in a cloud environment.
JSON / JavaScript Object Notation Basics
• It is a text-based data exchange format.
• It is a collection of key-value pairs
• where the key must be a string type, and the value can be of any of the
following types:
• Number
• String
• Boolean
• Array
• Object
• null
Simple JSON Data
{
"name": "Alex C",
"age": 22,
"city": “Erode"
}
[
{
"name": "Alex C",
"age": 24,
"city": “Erode"
},
{
"name": "John G",
"age": 40,
"city": "Washington"
},
{
"name": "Bala T",
"age": 22,
"city": "Bangalore"
}
]
JSON Data with a
Collection of Ordered
Records
Employee Data in JSON Format
{
"name": "Aleix Melon",
"id": "E00245",
"role": ["Dev", "DBA"],
"age": 23,
"doj": "11-12-2019",
"married": false,
"address": {
"street": "32, Laham St.",
"city": "Innsbruck",
"country": "Austria"
},
"referred-by": "E0012"
}
[ { "name": "Aleix Melon",
"id": "E00245",
"role": ["Dev", "DBA"],
"age": 23,
"doj": "11-12-2019",
"married": false,
"address": { "street": "32, Laham St.",
"city": "Innsbruck",
"country": "Austria"
}, "referred-by": "E0012"
},
{ "name": "Bob Washington",
"id": "E01245",
"role": ["HR"], "age": 43,
"doj": "10-06-2010", "married": true,
"address": { "street": "45, Abraham Lane.",
"city": "Washington", "country": "USA"
}, "referred-by": null } ]
An Array of Employee
Data in JSON Format
File: first.json
{"employees":[
{"name":"Sonoo", "email":"sonoojaiswal1987@gmail.com"},
{"name":"Rahul", "email":"rahul32@gmail.com"},
{"name":"John", "email":"john32bob@gmail.com"}
]}
MongoDB
• MongoDB is a NoSQL database.
• MongoDB is an open source, document oriented database
that stores data in form of documents (key and value pairs).
Fields (key and value pairs) are stored in document, documents are
stored in collection and collections are stored in database.
CRUD operations in MongoDB
• Create: This operation allows you to insert new documents into a
MongoDB collection. A document is a data structure that consists of field-
value pairs, similar to a JSON object.
• Read: This operation allows you to retrieve data from a MongoDB
collection. You can retrieve a single document or multiple documents that
match a specific query.
• Update: This operation allows you to modify existing documents in a
MongoDB collection. You can update one or multiple documents that
match a specific query.
• Delete: This operation allows you to remove documents from a MongoDB
collection. You can delete a single document or multiple documents that
match a specific query.
Download MongoDB
•download MongoDB from the official website:
https://www.mongodb.com/download-center/communi
ty
.
• MongoDB driver for our programming language.
•using the official MongoDB driver for Node.js.
•You can install it by running the following command:
npm install mongodb
npm install mongoose
Step 1 : Check properly installed or not
Open cmd and type:
•mongod -version
•mongo -version
Step 2 : Server on & Client on
Open two separate cmd and type: One for server & another for
client
• mongod
• mongo
Within Mongo (Client) window
Shows databases
show dbs
Ans:
admin 0.000GB
config 0.000GB
local 0.000GB
Create database
use Employee
Ans:
switched to db Employee
Create collection /table
db.createCollection("posts")
Ans:
{ "ok" : 1 }
Insert data
db.posts.insertOne({name:"abi"})
Ans:
{
"acknowledged" : true,
"insertedId" :
ObjectId("643e391ee1f9ddc511f3beaf")
}
View / Select /find a data
db.posts.find()
Ans:
{ "_id" : ObjectId("643e391ee1f9ddc511f3beaf"),
"name" : "abi" }
Update command
db.posts.update({name:"abi"},{$set:{name:"helloword"}})
Ans:
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1
})
Delete command
db.posts.deleteOne({ name: "helloword" })
Ans:
{ "acknowledged" : true, "deletedCount" : 1 }
MongoDB – sort() Method
• The sort() method specifies the order in which the query returns the
matching documents from the given collection.
db.Collection_Name.sort({filed_name:1 or -1})
db.student.find().sort({age:1})
• Parameter:
The value is 1 or -1 that specifies an ascending or descending
sort respectively. The type of parameter is a document.
Connect Node.js with NoSQL MongoDB
Database
Install mongoose:
• Step 1: install the mongoose module. You can install this package by using this
command.
npm install mongoose
• Step 2: Now you can import the mongoose module in your file using:
const mongoose = require('mongoose');
Mongoose Module Introduction
•It provides several functions in order to
manipulate the documents of the collection of
the MongoDB database
Mongoose
• Mongoose is an Object Data Modeling (ODM) tool designed
to work in an asynchronous environment.
• Mongoose schema as a blueprint for defining the structure
of a Mongoose model that maps directly to a MongoDB
collection.
• -->unifiedtopology : DeprecationWarning: current Server Discovery and
Monitoring engine is deprecated, and will be removed in a future version.
• To use the new Server Discover and Monitoring engine, pass option
{ useUnifiedTopology: true } to the MongoClient constructor.
• -->usenewurlparser : DeprecationWarning: current URL string parser is
deprecated, and will be removed in a future version. To use the new parser,
pass option { useNewUrlParser: true } to MongoClient.connect.
Step 1 : create schema and set model
const mongoose =require("mongoose")
const url = "mongodb://localhost:27017/project";
const name = new mongoose.Schema({ name: String,
age:Number, rollno:String });
const Name= mongoose.model('Name',name)
const db = async() =>{
try{
console.log("entered")
const data=await mongoose.connect(url,
{
useNewUrlParser: true,
useUnifiedTopology: true,
family: 4,
}
)
console.log("connected")
}
catch(err){
console.log(err)
}
}
db()
Step 2 : create
connection
Insert data
const insertdata=async()=>{
const cat = new Name({ name: 'Zildjian' , age:25, rollno:"21ITR089"});
cat.save().then(() => console.log('Saved in db'));
}
Insertdata()
Update query
const updatedata=async() => {
const filter = { name: "Zildjian" };
const update = { age: 97 };
let doc = await Name.findOneAndUpdate(filter, update);
console.log(doc.name); // 'Luke Skywalker'
console.log(doc.age); // undefined
}
updatedata()
Delete query
const deletedata=async() => {
await Name.deleteMany({name: 'Zildjian'});
}
deletedata()
Reference
• https://masteringjs.io/mongoose
• https://www.mongodb.com/docs/manual/tutorial/install-mongodb-o
n-windows/
• https://mongoosejs.com/docs/5.x/docs/tutorials/findoneandupdate.
html
• https://www.youtube.com/watch?v=gB6WLkSrtJk

Connect to NoSQL Database (MongoDB) using Node JS & Connect Node.js with NoSQL MongoDB Database

  • 1.
    Connect to NoSQLDatabase using Node JS
  • 2.
    What Is aDatabase •A database is an organized collection of structured information, or data, typically stored electronically in a computer system
  • 3.
    Types of databases •Centralised database. • Distributed database. • Personal database. • End-user database. • Commercial database. • NoSQL database. • Operational database. • Relational database. • Cloud database. • Object-oriented database. • Graph database.
  • 4.
    1. Centralised Database •The information(data) is stored at a centralized location and the users from different locations can access this data. • This type of database contains application procedures that help the users to access the data even from a remote location.
  • 5.
    Distributed Database •Just oppositeof the centralized database concept, •The data is not at one place and is distributed at various sites of an organization. These sites are connected to each other with the help of communication links which helps them to access the distributed data easily.
  • 6.
    Introduction to NoSQL •NoSQLis a type of database management system (DBMS) that is designed to handle and store large volumes of unstructured and semi- structured data. •NoSQL originally referred to “non-SQL” or “non- relational” databases
  • 7.
    NoSQL Database •It isused for large sets of distributed data. •There are some big data performance issues which are effectively handled by relational databases, such kind of issues are easily managed by NoSQL databases. •There are very efficient in analyzing large size unstructured data that may be stored at multiple virtual servers of the cloud.
  • 8.
    Cloud and Database •A cloud is a network of remote servers that are connected to the internet, and are used to store, manage and process data. • Cloud services can be divided into three categories: • Infrastructure as a Service (IaaS), • Platform as a Service (PaaS) and • Software as a Service (SaaS). T • he main benefit of cloud computing is its scalability, as well as its ability to provide on-demand access to computing resources and services.
  • 9.
    Cloud and Database •A database is a collection of data that is organized in a specific way and can be accessed, managed and updated by a software application. • Databases are used to store and retrieve data in an efficient and organized manner. • There are different types of databases, such as • relational databases (MySQL, Oracle, MS SQL), NoSQL databases (MongoDB, Cassandra, Redis) and graph databases (Neo4j).
  • 10.
    Cloud and Database •cloudis a type of technology that provides access to remote servers and computing resources •database is a collection of data that is organized and managed by a specific software. •While they are different, they can be used together, such as running a database in a cloud environment.
  • 12.
    JSON / JavaScriptObject Notation Basics • It is a text-based data exchange format. • It is a collection of key-value pairs • where the key must be a string type, and the value can be of any of the following types: • Number • String • Boolean • Array • Object • null
  • 13.
    Simple JSON Data { "name":"Alex C", "age": 22, "city": “Erode" }
  • 14.
    [ { "name": "Alex C", "age":24, "city": “Erode" }, { "name": "John G", "age": 40, "city": "Washington" }, { "name": "Bala T", "age": 22, "city": "Bangalore" } ] JSON Data with a Collection of Ordered Records
  • 15.
    Employee Data inJSON Format { "name": "Aleix Melon", "id": "E00245", "role": ["Dev", "DBA"], "age": 23, "doj": "11-12-2019", "married": false, "address": { "street": "32, Laham St.", "city": "Innsbruck", "country": "Austria" }, "referred-by": "E0012" }
  • 16.
    [ { "name":"Aleix Melon", "id": "E00245", "role": ["Dev", "DBA"], "age": 23, "doj": "11-12-2019", "married": false, "address": { "street": "32, Laham St.", "city": "Innsbruck", "country": "Austria" }, "referred-by": "E0012" }, { "name": "Bob Washington", "id": "E01245", "role": ["HR"], "age": 43, "doj": "10-06-2010", "married": true, "address": { "street": "45, Abraham Lane.", "city": "Washington", "country": "USA" }, "referred-by": null } ] An Array of Employee Data in JSON Format
  • 17.
  • 18.
    MongoDB • MongoDB isa NoSQL database. • MongoDB is an open source, document oriented database that stores data in form of documents (key and value pairs).
  • 19.
    Fields (key andvalue pairs) are stored in document, documents are stored in collection and collections are stored in database.
  • 21.
    CRUD operations inMongoDB • Create: This operation allows you to insert new documents into a MongoDB collection. A document is a data structure that consists of field- value pairs, similar to a JSON object. • Read: This operation allows you to retrieve data from a MongoDB collection. You can retrieve a single document or multiple documents that match a specific query. • Update: This operation allows you to modify existing documents in a MongoDB collection. You can update one or multiple documents that match a specific query. • Delete: This operation allows you to remove documents from a MongoDB collection. You can delete a single document or multiple documents that match a specific query.
  • 22.
    Download MongoDB •download MongoDBfrom the official website: https://www.mongodb.com/download-center/communi ty . • MongoDB driver for our programming language. •using the official MongoDB driver for Node.js. •You can install it by running the following command: npm install mongodb npm install mongoose
  • 27.
    Step 1 :Check properly installed or not Open cmd and type: •mongod -version •mongo -version
  • 28.
    Step 2 :Server on & Client on Open two separate cmd and type: One for server & another for client • mongod • mongo
  • 29.
    Within Mongo (Client)window Shows databases show dbs Ans: admin 0.000GB config 0.000GB local 0.000GB
  • 30.
  • 31.
  • 32.
    Insert data db.posts.insertOne({name:"abi"}) Ans: { "acknowledged" :true, "insertedId" : ObjectId("643e391ee1f9ddc511f3beaf") }
  • 33.
    View / Select/find a data db.posts.find() Ans: { "_id" : ObjectId("643e391ee1f9ddc511f3beaf"), "name" : "abi" }
  • 34.
  • 35.
    Delete command db.posts.deleteOne({ name:"helloword" }) Ans: { "acknowledged" : true, "deletedCount" : 1 }
  • 36.
    MongoDB – sort()Method • The sort() method specifies the order in which the query returns the matching documents from the given collection. db.Collection_Name.sort({filed_name:1 or -1}) db.student.find().sort({age:1}) • Parameter: The value is 1 or -1 that specifies an ascending or descending sort respectively. The type of parameter is a document.
  • 37.
    Connect Node.js withNoSQL MongoDB Database Install mongoose: • Step 1: install the mongoose module. You can install this package by using this command. npm install mongoose • Step 2: Now you can import the mongoose module in your file using: const mongoose = require('mongoose');
  • 38.
    Mongoose Module Introduction •Itprovides several functions in order to manipulate the documents of the collection of the MongoDB database
  • 39.
    Mongoose • Mongoose isan Object Data Modeling (ODM) tool designed to work in an asynchronous environment. • Mongoose schema as a blueprint for defining the structure of a Mongoose model that maps directly to a MongoDB collection.
  • 40.
    • -->unifiedtopology :DeprecationWarning: current Server Discovery and Monitoring engine is deprecated, and will be removed in a future version. • To use the new Server Discover and Monitoring engine, pass option { useUnifiedTopology: true } to the MongoClient constructor. • -->usenewurlparser : DeprecationWarning: current URL string parser is deprecated, and will be removed in a future version. To use the new parser, pass option { useNewUrlParser: true } to MongoClient.connect.
  • 41.
    Step 1 :create schema and set model const mongoose =require("mongoose") const url = "mongodb://localhost:27017/project"; const name = new mongoose.Schema({ name: String, age:Number, rollno:String }); const Name= mongoose.model('Name',name)
  • 42.
    const db =async() =>{ try{ console.log("entered") const data=await mongoose.connect(url, { useNewUrlParser: true, useUnifiedTopology: true, family: 4, } ) console.log("connected") } catch(err){ console.log(err) } } db() Step 2 : create connection
  • 43.
    Insert data const insertdata=async()=>{ constcat = new Name({ name: 'Zildjian' , age:25, rollno:"21ITR089"}); cat.save().then(() => console.log('Saved in db')); } Insertdata()
  • 44.
    Update query const updatedata=async()=> { const filter = { name: "Zildjian" }; const update = { age: 97 }; let doc = await Name.findOneAndUpdate(filter, update); console.log(doc.name); // 'Luke Skywalker' console.log(doc.age); // undefined } updatedata()
  • 45.
    Delete query const deletedata=async()=> { await Name.deleteMany({name: 'Zildjian'}); } deletedata()
  • 46.
    Reference • https://masteringjs.io/mongoose • https://www.mongodb.com/docs/manual/tutorial/install-mongodb-o n-windows/ •https://mongoosejs.com/docs/5.x/docs/tutorials/findoneandupdate. html • https://www.youtube.com/watch?v=gB6WLkSrtJk