What is MongoDB?
MongoDB is a document-oriented NoSQL database that stores data in flexible, JSON-like documents. It is ideal for applications with evolving schemas, content management, and real-time analytics.
Installation
curl -fsSL https://www.mongodb.org/static/pgp/server-7.0.asc | sudo gpg --dearmor -o /usr/share/keyrings/mongodb-server-7.0.gpg
echo "deb [ signed-by=/usr/share/keyrings/mongodb-server-7.0.gpg ] https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/7.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-7.0.list
sudo apt update
sudo apt install -y mongodb-org
sudo systemctl enable --now mongodBasic Operations
# Connect
mongosh
# Create/switch database
use mydb
# Insert documents
db.users.insertOne({ name: "Alice", email: "alice@example.com", age: 30 })
db.users.insertMany([
{ name: "Bob", email: "bob@example.com", age: 25 },
{ name: "Charlie", email: "charlie@example.com", age: 35 }
])
# Find documents
db.users.find()
db.users.find({ age: { $gt: 28 } })
db.users.findOne({ email: "alice@example.com" })
# Update
db.users.updateOne({ name: "Alice" }, { $set: { age: 31 } })
# Delete
db.users.deleteOne({ name: "Bob" })Security
# Enable authentication
use admin
db.createUser({
user: "admin",
pwd: "secure_password",
roles: ["root"]
})Edit /etc/mongod.conf:
security:
authorization: enabled