MongoDB is a popular open-source, document-oriented NoSQL database. Instead of storing data in tables like traditional relational databases, MongoDB stores structured data in JSON-like documents.
The main components of MongoDB are:
show dbs
show dbs
command won't show the empty data base.use 'data base name'
use 'name of the data base you want'
db.createCollection("name")
db.dropDatabase()
db.students.insertOne({name:"gholi", age:30, gpa:2.5})
db.students.find()
db.students.insertMany([{name: "gholi", age: 38, gpa: 2.5}, {name: "gholam", age: 39, gpa: 3.5}, {name: "ghodrat", age: 40, gpa: 4.5}])
db.students.insertOne({
name:"gholi", //string
age:32, //integer
gpa:2.8, // double
fullTime: false, // boolean
registerDate: new Date(), // date
gradDate: null, // null
courses: ["chemistry", "physics", "calculus"], // array
addres: {street:"fake street",
city: "gholi abad",
zip: 12345}}) // nested documents
db.students.find().sort({name:1})
db.students.find().sort({name:-1})
db.students.find().sort({gpa:1})
db.students.find().sort({gpa:-1})
db.students.find().limit(3)
which returns top 3 documents.db.students.sort({gpa:-1}).limit(1)
this query returns the student with highest gpa.
db.students.find({name:"gholi"})
db.students.find({name:"gholi", gpa: 4.0})
db.students.find({}, {name:true})
db.students.find({}, {_id:false, name:true})
db.students.updateOne(filter, update)
db.students.updateOne({name:"gholi"}, {$set:{fulltime:true}})
db.students.updateOne({name:"gholi"}, {$unset:{fulltime:""}})
db.students.updateMany({name:"gholi"}, {$set:{fulltime:false}})
db.students.updateMany({name:"gholi"}, {$set:{fulltime:false}})
db.students.updateMany({fullTime:{$exists:false}}, {$set:{fulltime:true}})
db.students.deleteOne({name:"gholi"})
db.students.deleteMany({name:"gholi"})
db.students.deleteMany({registerDate:{$exist:false}})
$ne
db.students.find({name:{$ne:"gholi"}})
$lt
db.students.find({age:{$lt:20}})
$lte
$gt
$gte
db.students.find({gpa:{$lt:4, $gte:3}})
$in
db.students.find({age:{$in:["gholi", "ghodrat"]}})
$nin
db.students.find({age:{$nin:["gholi", "ghodrat"]}})
$and
db.students.find({$and: [{fullTime: true}, {age:{$lte:22}}]})
$or
db.students.find({$or: [{fullTime: true}, {age:{$lte:22}}]})
$nor
db.students.find({$nor: [{fullTime: true}, {age:{$lte:22}}]})
$not
db.students.find({age:{$not:{$gte:30}}})
db.students.createIndex({name: 1})
db.students.getIndex()
db.students.getIndex("name_1")
db.createCollection("teachers")
db.createCollection("teachers", {capped:true, size:10000000, max:100})
this means the size is at most 10 megabytes and maximum number of documents can be 100.db.createCollection("teachers", {capped:true, size:10000000, max:100}, {autoIndexId: false})