MongoDB Beginner To Advanced With Practical Code Snippet Example
Here is some keynote for using MongoDB. In this tutorial, you will learn all the necessary command which is mostly used in MongoDB. I give some simple examples for you. Before starting make sure you have MongoDB installed in your system.
Show All Databases
show dbs
Show Current Database
db
Create Or Switch Database
use acme
Drop
db.dropDatabase()
Create Collection
db.createCollection('posts')
Show Collections
show collections
Insert Row
db.posts.insert({
title: 'Post One',
body: 'Body of post one',
category: 'News',
tags: ['news', 'events'],
user: {
name: 'John Doe',
status: 'author'
},
date: Date()
})
Insert Multiple Rows
db.posts.insertMany([
{
title: 'Post Two',
body: 'Body of post two',
category: 'Technology',
date: Date()
},
{
title: 'Post Three',
body: 'Body of post three',
category: 'News',
date: Date()
},
{
title: 'Post Four',
body: 'Body of post three',
category: 'Entertainment',
date: Date()
}
])
Get All Rows
db.posts.find()
Get All Rows Formatted
db.posts.find().pretty()
Find Rows
db.posts.find({ category: 'News' })
Sort Rows
# asc
db.posts.find().sort({ title: 1 }).pretty()
# desc
db.posts.find().sort({ title: -1 }).pretty()
Count Rows
db.posts.find().count()
db.posts.find({ category: 'news' }).count()
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)
})
Find One Row
db.posts.findOne({ category: 'News' })
Find Specific Fields
db.posts.find({ title: 'Post One' }, {
title: 1,
author: 1
})
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 ($inc)
db.posts.update({ title: 'Post Two' },
{
$inc: {
likes: 5
}
})
Rename Field
db.posts.update({ title: 'Post Two' },
{
$rename: {
likes: 'views'
}
})
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 ($elemMatch)
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 } })
Please feel free to leave a comment if you have any feedback, questions, or want me to write about another PHP/Laravel/JavaScript-related topic.