Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save shalaby/005db13378a7be7a8c5fa26d7301a381 to your computer and use it in GitHub Desktop.
Save shalaby/005db13378a7be7a8c5fa26d7301a381 to your computer and use it in GitHub Desktop.
MongoDB Cheat Sheet 2022

MongoDB Cheat Sheet 2022

MongoDB Crash Course 2022 < TODO: Add Video Link

Table of Contents

Check monosh Version

mongosh --version

Start the Mongo Shell

mongosh "YOUR_CONNECTION_STRING" --username YOUR_USER_NAME

Show Current Database

db

Show All Databases

show dbs

Create Or Switch Database

use blog

Drop Database

db.dropDatabase()

Create Collection

db.createCollection('posts')

Show Collections

show collections

Insert Document

db.posts.insertOne({
  title: 'Post 1',
  body: 'Body of post.',
  category: 'News',
  likes: 1,
  tags: ['news', 'events'],
  date: Date()
})

Insert Multiple Documents

db.posts.insertMany([
  {
    title: 'Post 2',
    body: 'Body of post.',
    category: 'Event',
    likes: 2,
    tags: ['news', 'events'],
    date: Date()
  },
  {
    title: 'Post 3',
    body: 'Body of post.',
    category: 'Tech',
    likes: 3,
    tags: ['news', 'events'],
    date: Date()
  },
  {
    title: 'Post 4',
    body: 'Body of post.',
    category: 'Event',
    likes: 4,
    tags: ['news', 'events'],
    date: Date()
  },
  {
    title: 'Post 5',
    body: 'Body of post.',
    category: 'News',
    likes: 5,
    tags: ['news', 'events'],
    date: Date()
  }
])

Find All Documents

db.posts.find()

Find Documents with Query

db.posts.find({ category: 'News' })

Sort Documents

Ascending

db.posts.find().sort({ title: 1 })

Descending

db.posts.find().sort({ title: -1 })

Count Documents

db.posts.find().count()
db.posts.find({ category: 'news' }).count()

Limit Documents

db.posts.find().limit(2)

Chaining

db.posts.find().limit(2).sort({ title: 1 })

Find One Document

db.posts.findOne({ likes: { $gt: 3 } })

Update Document

db.posts.updateOne({ title: 'Post 1' },
{
  $set: {
    category: 'Tech'
  }
})

Update Document or Insert if not Found

db.posts.updateOne({ title: 'Post 6' },
{
  $set: {
    title: 'Post 6',
    body: 'Body of post.',
    category: 'News'
  }
},
{
  upsert: true
})

Increment Field ($inc)

db.posts.updateOne({ title: 'Post 1' },
{
  $inc: {
    likes: 2
  }
})

Update Multiple Documents

db.posts.updateMany({}, {
  $inc: {
    likes: 1
  }
})

Rename Field

db.posts.updateOne({ title: 'Post 2' },
{
  $rename: {
    likes: 'views'
  }
})

Delete a Document

db.posts.deleteOne({ title: 'Post 6' })

Delete Multiple Documents

db.posts.deleteMany({ category: 'Tech' })

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 } })
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment