MongoDB

MongoDB is a document database with the scalability and flexibility.

Overview

MongoDB stores data in flexible, JSON-like documents, meaning fields can vary from document to document and data structure can be changed over time.

MongoDB is a distributed database at its core.

Tools: MongoDB shell (CLI), MongoDBCompass (GUI)


Basic Commands

[TOP]

Actions Codes
Show All Databases show dbs
Show Current Database db
Create Or Switch Database use dbname
Drop Database db.dropDatabase()
show collections Show Collections
Insert Row db.posts.insert({
title: 'Post One',
body: 'Body of post one',
category: 'News',
tags: ['news', 'events'],
user: {
name: 'Jim Cooks',
status: 'author'
},
date: Date()
})
Get All Rows db.posts.find()
Get All Rows Formatted db.find().pretty()
Count Rows db.posts.find().count()
db.posts.find({ category: 'news' }).count()
Sort Rows # asc
db.posts.find().sort({ title: 1 }).pretty()
# desc
db.posts.find().sort({ title: -1 }).pretty()
Limit Rows db.posts.find().limit(2).pretty()
Chaining db.posts.find().limit(2).sort({ title: 1 }).pretty()
Foreach db.posts.find().forEach(function(doc) {
print("Blog Post: " + doc.title)
})
Update Row db.posts.update({ title: 'Post Two' },
{
title: 'Post Two',
body: 'New body for post 2',
date: Date()
},
{
upsert: true
})
Update Specific Field db.posts.update({ title: 'Post Two' },
{
$set: {
body: 'Body for post 2',
category: 'Technology'
}
})
Increment Field db.posts.update({ title: 'Post Two' },
{
$inc: {
likes: 5
}
})
Delete Row db.posts.remove({ title: 'Post Four' })
Sub-Documents db.posts.update({ title: 'Post One' },
{
$set: {
comments: [
{
body: 'Comment One',
user: 'Mary Williams',
date: Date()
},
{
body: 'Comment Two',
user: 'Harry White',
date: Date()
}
]
}
})
Find By Element in Array db.posts.find({
comments: {
$elemMatch: {
user: 'Mary Williams'
}
}
}
)
Add Index db.posts.createIndex({ title: 'text' })
Text Search db.posts.find({
$text: {
$search: "\"Post O\""
}
})
Greater & Less Than db.posts.find({ views: { $gt: 2 } })
db.posts.find({ views: { $gte: 7 } })
db.posts.find({ views: { $lt: 7 } })
db.posts.find({ views: { $lte: 7 } })

Resources

[TOP]

🌐 MongoDB

🌐 MongoDB Docs

🌐 MongoDB Community