Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Lab2-DB-Mongodb
1. CS331 - Database Management Systems
Dr. Lilia Sfaxi
13 novembre 2019
Mongo DB
To get a docker container with mongodb :
docker pull mongo
docker run --name medtech-mongo -d mongo:latest
docker run -it --link medtech-mongo:mongo --rm mongo mongo --host mongo test
Use the database
use medtech-db
to see all databases:
show dbs
insert document:
db.blog.insert({"name":"tutorials point"})
now show dbs will display the database medtech-db
create a new collection
db.createCollection("mycollection")
show collections
drop a collection
db.mycollection.drop()
insert a document:
db.blog.insert([
{
title: 'MongoDB Overview',
MONGO DB DR. LILIA SFAXI 1
MedTech
2. description: 'MongoDB is no sql database',
by: 'tutorials point',
url: 'http://www.tutorialspoint.com',
tags: ['mongodb', 'database', 'NoSQL'],
likes: 100
},
{
title: 'NoSQL Database',
description: "NoSQL database doesn't have tables",
by: 'tutorials point',
url: 'http://www.tutorialspoint.com',
tags: ['mongodb', 'database', 'NoSQL'],
likes: 20,
comments: [
{
user:'user1',
message: 'My
fi
rst comment',
dateCreated: new Date(2013,11,10,2,35),
like: 0
}
]
}
])
to query a collection:
db.blog.
fi
nd()
you can add a pretty method:
db.blog.
fi
nd().pretty()
you can use
fi
ndOne to return one document (the
fi
rst)
db.blog.
fi
ndOne()
search an equality
MONGO DB DR. LILIA SFAXI 2
3. db.blog.
fi
nd({"by":"tutorials point"}).pretty()
Less than
db.blog.
fi
nd({"likes":{$lt:50}}).pretty()
Greater than
db.blog.
fi
nd({"likes":{$gt:50}}).pretty()
db.blog.
fi
nd({"likes":{$gte:50}}).pretty()
Not equals
db.blog.
fi
nd({"likes":{$ne:50}}).pretty()
AND
db.blog.
fi
nd({$and:[{"by":"tutorials point"},{"title": "MongoDB Overview"}]}).pretty()
OR
db.blog.
fi
nd({$or:[{"by":"tutorials point"},{"title": "MongoDB Overview"}]}).pretty()
AND and OR together
db.blog.
fi
nd({"likes": {$gt:10}, $or: [{"by": "tutorials point"},
{"title": "MongoDB Overview"}]}).pretty()
update
db.blog.update({'title':'MongoDB Overview'},{$set:{'title':'New MongoDB Tutorial'}})
update for all docs
db.blog.update({'title':'MongoDB Overview'},
{$set:{'title':'New MongoDB Tutorial'}},{multi:true})
search with a projection
db.blog.
fi
nd({},{"title":1,_id:0})
sort (descending title)
db.blog.
fi
nd({},{"title":1,_id:0}).sort({"title":-1})
MONGO DB DR. LILIA SFAXI 3