MongoDB Cheat Sheet¶
Description | Command |
---|---|
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 |
Get All Rows | db.posts.find() |
Get All Rows Formatted | db.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}) |
Delete Row | db.posts.remove({ title: 'Post Four' }) |
Add Index | db.posts.createIndex({ title: 'text' }) |
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()
}
])
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'
}
})
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'
}
}
}
)
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 } })