|  |  | @@ -0,0 +1,261 @@ | 
    
    |  |  | # MongoDB Cheat Sheet | 
    
    |  |  | 
 | 
    
    |  |  | ## 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.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: { | 
    
    |  |  | author: '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 } }) | 
    
    |  |  | ``` |