Installation on Ubuntu
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 mongod
Connect to MongoDB
mongosh
# or
mongosh "mongodb://localhost:27017"
Basic Operations
# Create/switch database
use myapp
# Insert documents
db.users.insertOne({ name: "John", email: "john@example.com", age: 30 })
db.users.insertMany([
{ name: "Jane", email: "jane@example.com", age: 25 },
{ name: "Bob", email: "bob@example.com", age: 35 }
])
# Find documents
db.users.find()
db.users.find({ age: { $gt: 28 } })
db.users.findOne({ name: "John" })
# Update
db.users.updateOne({ name: "John" }, { $set: { age: 31 } })
db.users.updateMany({ age: { $lt: 30 } }, { $set: { status: "young" } })
# Delete
db.users.deleteOne({ name: "Bob" })
db.users.deleteMany({ status: "inactive" })
Indexing
db.users.createIndex({ email: 1 }, { unique: true })
db.users.createIndex({ name: 1, age: -1 })
db.users.getIndexes()
Security
# Create admin user
use admin
db.createUser({
user: "admin",
pwd: "SecurePassword123",
roles: ["root"]
})
# Enable authentication in /etc/mongod.conf
# security:
# authorization: enabled