MONGODB CHEAT SHEET

Document Database
v1.0
CRUD Operations
  • insertOne()Insert document
  • insertMany()Insert multiple
  • find()Query documents
  • findOne()Query single
  • updateOne()Update first match
  • updateMany()Update all matches
  • deleteOne()Delete first match
  • deleteMany()Delete all matches
Query Operators
  • $eq, $neEqual, not equal
  • $gt, $gteGreater than
  • $lt, $lteLess than
  • $in, $ninIn array
  • $and, $orLogical operators
  • $existsField exists
  • $regexPattern match
Update Operators
  • $setSet field value
  • $unsetRemove field
  • $incIncrement value
  • $pushAdd to array
  • $pullRemove from array
  • $addToSetAdd unique
  • $renameRename field
Database Commands
  • show dbsList databases
  • use dbnameSwitch database
  • show collectionsList collections
  • db.dropDatabase()Drop database
  • db.stats()DB statistics
Query Examples
// Find all documents db.users.find({}) // Find with conditions db.users.find({ age: { $gte: 18 } }) // Multiple conditions (AND) db.users.find({ status: "active", age: { $gte: 21 } }) // OR condition db.users.find({ $or: [ { status: "active" }, { role: "admin" } ] }) // Projection (select fields) db.users.find({}, { name: 1, email: 1, _id: 0 })
Aggregation Pipeline
db.orders.aggregate([ // Match stage (filter) { $match: { status: "completed" } }, // Group stage { $group: { _id: "$customerId", totalAmount: { $sum: "$amount" }, orderCount: { $sum: 1 } }}, // Sort stage { $sort: { totalAmount: -1 } }, // Limit results { $limit: 10 } ])
Aggregation Stages
  • $matchFilter docs
  • $groupGroup by field
  • $sortSort results
  • $projectReshape docs
  • $lookupJoin collections
  • $unwindFlatten arrays
Indexes
// Create index db.users.createIndex({ email: 1 }) // Unique index db.users.createIndex( { email: 1 }, { unique: true } ) // Compound index db.users.createIndex({ status: 1, createdAt: -1 }) // List indexes db.users.getIndexes()
Update Examples
// Update single document db.users.updateOne( { _id: ObjectId("...") }, { $set: { name: "New Name" } } ) // Update multiple documents db.users.updateMany( { status: "inactive" }, { $set: { archived: true } } ) // Upsert (insert if not exists) db.users.updateOne( { email: "user@example.com" }, { $set: { lastLogin: new Date() } }, { upsert: true } ) // Increment value db.posts.updateOne( { _id: postId }, { $inc: { views: 1 } } )
Array Operators
  • $elemMatchMatch element
  • $allContains all
  • $sizeArray length
  • $sliceArray subset
  • $First match
Cursors
  • .sort()Sort results
  • .limit()Limit count
  • .skip()Skip documents
  • .count()Count results
  • .explain()Query analysis

DummyDataGenPro

Realistic synthetic test data with foreign keys that actually join.

All 51 cheat sheets

Free to read and free to print — no signup. Want them as A4 PDFs you can print? Get all 51 as a PDF bundle for £14.99.
A Martkos IT reference sheet · Blog · Free tools