Lecture MongoDB
Lecture MongoDB
Amit Dua
BITS Pilani Assistant Professor
Hyderabad Campus
Pilani Campus Department of CSIS
MongoDB
• properties
• installation
• CRUD basics
• Hands on
Pilani Campus
BITS Pilani, Hyderabad Campus
Motivation
Seller:
• Store lots and lots of data and work with it efficiently
How it works:
• Database--- shop
• Collections-- users, orders
• Documents-- name:”Amit”, age:30
• name:”Manu”, age:45
• Schema less—Flexible
• Some kind of structure: JSON (data stored in BSON)
• Key –value pair
Pilani Campus
BITS Pilani, Hyderabad Campus
Flights.json
[
{
"departureAirport": "MUC",
"arrivalAirport": "SFO",
"aircraft": "Airbus A380",
"distance": 12000,
"intercontinental": true
},
{
"departureAirport": "LHR",
"arrivalAirport": "TXL",
"aircraft": "Airbus A320",
"distance": 950,
"intercontinental": false
}
]
• Opposite of SQL
• Instead of Normalization (store data in different tables)
• Store in same collection
• Mongodb.com
• Try free
• Server
• Download
• Install (custom)🡪 MongoDB as a service
• cmd🡪 mongo (error)
• Set environment path
• cmd 🡪 mongo (should work)
>db.flightData.deleteOne({_id:”lhr-txl-1”})
>db.flightData.find().pretty()
>db.flightData.deleteMany() //error
>db.flightData.UpdateOne({distance:12000},{marker:”delete”}) //error
>db.flightData.UpdateOne({distance:12000},{$set: {marker:”delete”}})
>db.flightData.find().pretty()
>db.flightData.deleteMany({marker:”to delete”})
>db.flightData.find().pretty()
>db.flightData.insertMany([
{
"departureAirport": "MUC",
"arrivalAirport": "SFO",
"aircraft": "Airbus A380",
"distance": 12000,
"intercontinental": true
},
{
"departureAirport": "LHR",
"arrivalAirport": "TXL",
"aircraft": "Airbus A320",
"distance": 950,
"intercontinental": false
}
])
>db.flightData.find().pretty()
>db.flightData.find().pretty()
>db.flightData.updateOne(_id:……………….,{$set:{delayed:true}})
>db.flightData.update(_id:……………….,{$set:{delayed:false}})
>db.flightData.updateOne(_id:……………….,{delayed:true}}) //error
>db.flightData.updateMany(_id:……………….,{delayed:false}}) //error
>db.flightData.update(_id:……………….,{delayed:true}}) //overwrite
>db.flightData.replaceOne(_id:……………….,{delayed:true}})
//overwrite
>db.passengers.insertMany([
{
"name": "Max Schwarzmueller",
"age": 29
},
{
"name": "Manu Lorenz",
"age": 30
},
{
"name": "Chris Hayton",
"age": 35
},
{
"name": "Sandeep Kumar",
"age": 28
}])
>db.passengers.find().pretty()
>it