MongoDB
Shell
mongosh
Database
show databases
use <db_name>
# Drops the current database
db.dropDatabase()
Collection
show collections
db.createCollection("<collection_name>")
db.createCollection("<collection_name>", {capped: true, size: 10000000, max: 100, autoIndexId: false})
db.<collection_name>.drop()
Document
# or findOne()
db.<collection_name>.find().pretty()
db.<collection_name>.find({<query_field>: <value>}).sort({<sort_field>: 1}).limit(<limit_size: 3>)
db.<collection_name>.find(
{"<query_field>.<child_query_field>": <value>},
{<include_field>: 1, <exclude_field>: 0}
).pretty()
db.<collection_name>.insertOne({<field1: name>: <value1: "Patrick">, <field2: age>: <value2: 30>})
db.<collection_name>.insertMany([
{<field1: name>: <value1: "Patrick">, <field2: age>: <value2: 30>},
{<field1: name>: <value1: "Sandy">, <field2: age>: <value2: 27>},
])
db.<collection_name>.insertOne(
{
name: "Larry",
age: 32,
GPA: 2.8,
"full time": false,
"register date": new Date(),
"graduation date": null,
courses: ["biology", "chemistry", "calculus"],
address: {
street: "one two three fake street",
city: "Bikini Bottom",
"zip code": "one two three four five"
}
}
)
# or updateMany
db.<collection_name>.updateOne({<query_field>: <value>}, {$set: {<update_field>: <value>}})
# or deleteMany
db.<collection_name>.deleteOne({<query_field>: <value>})
Operators
db.<collection_name>.find({<query_field>: {$ne: <value>}})
db.<collection_name>.find({<query_field>: {$lt: <value>}})
db.<collection_name>.find({<query_field>: {$lte: <value>}})
db.<collection_name>.find({<query_field>: {$gt: <value>}})
db.<collection_name>.find({<query_field>: {$gte: <value>}})
db.<collection_name>.find({<query_field>: {$gte: <value: 3>, $lte: <value: 4>}})
db.<collection_name>.find({<query_field>: {$in: [<value1>, <value2>, <value3>] } })
db.<collection_name>.find({<query_field>: {$nin: [<value1>, <value2>, <value3>] } })
db.<collection_name>.find({$and: [{<query_field1>: <value1>}, {<query_field2>: <value2>}]})
db.<collection_name>.find({$or: [{<query_field1>: <value1>}, {<query_field2>: <value2>}]})
db.<collection_name>.find({$nor: [{<query_field1>: <value1>}, {<query_field2>: <value2>}]})
Index
db.<collection_name>.getIndexes()
db.<collection_name>.createIndex({<field>: 1})
db.<collection_name>.dropIndex("<index_name>")
db.<collection_name>.find({<query_field>: <value>}).explain("executionStats")