ADO - Lecture IV - Working With MongoDB
ADO - Lecture IV - Working With MongoDB
>db.user.count()
>db.user.countDocuments()
>db.user.estimatedDocumentCount()
CRUD: https://docs.mongodb.com/mongodb-shell/crud/#std-label-mdb-shell-crud
R- Read
>db.user.find()
>db.user.find({"name":"ABC"})
>db.user.find({"_id":"2345"})
>db.user.find({"_id":2345})
U- Update
https://docs.mongodb.com/mongodb-shell/crud/update/#std-label-mongosh-update
>db.user.update({name: "smith"}, {$set: {country: "Canada"}})
>db.user.updateOne({name: "smith"}, {$set: {country: "Canada"}})
C-Create
https://docs.mongodb.com/mongodb-shell/crud/insert/#std-label-mongosh-insert
db.user.insert({name: "smith"})
db.user.insertOne({name: "smith"})
db.user.find();
>db.user.updateOne({name: "smith"}, {$set: {country: "Canada"}})
>db.user.find();
{ name: "smith",
favorites: {
cities: ["Chicago", "Cheyenne"],
movies: ["Casablanca", "For a Few Dollars More",
"The Sting"]
}
}
>db.user.find()
>db.user.updateOne( {name: "ABC"},
{"$set": {favorites:
{
movies: ["Casablanca", "Rocky"]
}
}
})
>db.users.find()
>db.user.find({"favorites.movies": "Casablanca"})
Interesting
db.collection.update(query,update,<upsert>,<multi>)
Detail: https://docs.mongodb.com/manual/reference/method/db.collection.update/
db.users.update({"favorites.movies": "Casablanca"},{"$set": {Person: "Romantic"}},
false,true)
>db.user.updateMany({"favorites.movies": "Casablanca"},{$addToSet:
{"favorites.movies": "The Maltese Falcon"}})
>db.user.updateMany({"favorites.movies": "Casablanca"},{$push: {"favorites.movies":
"The Maltese Falcon"}})
>db.user.find({"favorites.movies": "Casablanca"})
>db.user.updateMany({"favorites.movies": "Casablanca"},{$pull: {"favorites.movies":
"The Maltese Falcon"}})
db.user.updateMany({"favorites.movies": "Casablanca"},{$addToSet:
{"favorites.movies": ["The Maltese Falcon", "Bahubali 1", "Bahubali2"]}})
But the output is Array within array, which is not desired. How to solve it?
db.user.updateMany({"favorites.movies": "Casablanca"},{$pull: {"favorites.movies":
["The Maltese Falcon", "Bahubali 1", "Bahubali2"]}})
db.user.updateMany({"favorites.movies": "Casablanca"},{$addToSet:
{"favorites.movies": {$each:["The Maltese Falcon", "Bahubali 1", "Bahubali2"]}}})
Delete operation
>db.user.remove({"favorites.movies": "Rocky"})
>db.user.drop()
db.user.deleteOne()
db.user.deleteMany()
db.user.findOneAndDelete()
db.users.drop()
>db.numbers.find()
Range Queries
>db.numbers.find({num: 500})
>db.numbers.find( {num: {"$gt": 19995 }} )
>db.numbers.find( {num: {"$gt": 20, "$lt": 25 }} )
>db.numbers.find( {num: {"$gte": 19995 }} )
>db.numbers.find( {num: {"$gt": 20, "$lte": 25 }} )
>db.numbers.find( {num: {"$gte": 20, "$lte": 25 }} )
Indexing
>db.numbers.getIndexes()
Removing Indexes
db.<collection_name>.dropIndexes()
https://docs.mongodb.com/manual/reference/method/db.collection.dropIndexes/
https://www.mongodb.com/docs/manual/indexes/