show dbs
db
use acme
db.dropDatabase()
db.createCollection("posts")
show collections
db.posts.insertOne({
title: "Post One",
body: "Body of post one",
category: "News",
tags: ["news", "events"],
user: {
name: "John Doe",
status: "author"
},
date: Date()
})
This is done using an array
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()
}
])
Stops at the cursor
db.posts.find()
Return an array with all the documents
db.posts.find().toArray()
db.posts.find().pretty()
db.posts.find({ category: "News" })
# asc
db.posts.find().sort({ title: 1 }).pretty()
# desc
db.posts.find().sort({ title: -1 }).pretty()
db.posts.find().count()
db.posts.find({ category: "news" }).count()
db.posts.find().limit(2).pretty()
db.posts.find().limit(2).sort({ title: 1 }).pretty()
db.posts.find().forEach(function(doc) {
print("Blog Post: " + doc.title)
})
db.posts.findOne({ category: "News" })
db.posts.find({ title: "Post One" }, {
title: 1,
author: 1
})
Exclude the ID field
db.posts.find({ title: "Post One" }, {
title: 1,
author: 1,
_id: 0
})
Implicit change
db.posts.update({ title: "Post Two" },
{
title: "Post Two",
body: "New body for post 2",
date: Date()
},
{
upsert: true
})
if the field after the $set doesn"t exist, it will be created automatically.
db.posts.update({ title: "Post Two" },
{
$set: {
body: "Body for post 2",
category: "Technology"
}
})
Explicit change
db.posts.updateOne({ title: "Post Two" },
{
$set: {
body: "Body for post 2",
category: "Technology"
}
})
db.posts.updateMany({},
{
$set: {
marker: "toDelete"
}
})
db.posts.update({ title: "Post Two" },
{
$inc: {
likes: 5
}
})
db.posts.update({ title: "Post Two" },
{
$rename: {
likes: "views"
}
})
db.posts.replaceOne({ "_id" : ObjectId("60b2e815bb881b05ffc093ee")},
{
"departureAirport" : "MUC",
"arrivalAirport" : "SFO",
"aircraft" : "Airbus A380",
"distance" : 12000,
"intercontinental" : true,
"status" : {
"description" : "on-time",
"lastUpdated" : "1 hour ago",
"details" : {
"responsible" : "Yaron Levi"
}
)
db.posts.remove({ title: "Post Four" })
db.posts.deleteOne({ title: "Post Four" })
db.posts.deleteMany({marker: "toDelete"})
db.posts.deleteMany({})
db.posts.update({ title: "Post One" },
{
$set: {
comments: [
{
body: "Comment One",
user: "Mary Williams",
date: Date()
},
{
body: "Comment Two",
user: "Harry White",
date: Date()
}
]
}
})
db.posts.updateOne({ title: "Post One" },
{
$set: {
tags: [
"sports", "cooking"
]
}
})
Fetch the list from a document
db.posts.findOne({ title: "Post One" }).tags
Find the document that contains a value in its list
db.posts.find({ tags: "sports" }).pretty()
Find the document with an data from a sub-document
db.flightData.find({"status.description":"on-time"}).pretty()
db.posts.find({
comments: {
$elemMatch: {
user: "Mary Williams"
}
}
}
)
db.posts.createIndex({ title: "text" })
db.posts.find({
$text: {
$search: "\"Post O\""
}
})
db.posts.find({ views: { $gt: 2 } })
db.posts.find({ views: { $gte: 7 } })
db.posts.find({ views: { $lt: 7 } })
db.posts.find({ views: { $lte: 7 } })
Official MongoDb Get Started: https://docs.mongodb.com/manual/tutorial/getting-started/